IO流之字节流

IO流分为字节流和字符流,今天来写一下其中的字节流。
字节流的基类分别为InputStream和OutputStream,他们的子类都是由他们两个派生出来的,也是以他们为后缀结尾的,如:InputStream的子类FileInputStream。
1: FileInputStream:
构造方法:
FileInputStream(File file):读取文件中的数据;可以一个字节的读取,也可以一次读取一组数据
成员方法:
public int read():一次读取一个字节 public int read(byte[] b):一次读取一组字节
FileInputStream一次读取一个字节代码:

		File file1 = new File("b.txt");
		FileInputStream fis = new FileInputStream(file);
		int len1 = 0;
		while((len1=isr2.read())!=-1){
			System.out.print((char)len1);
		}

FileInputStream一次读取一组数据

		File file1 = new File("b.txt");
		FileInputStream fis = new FileInputStream(file);
		int len2 = 0;
		char[] chars = new  char[1024];
		while((len2=isr2.read(chars))!=-1){
			System.out.print(new String(chars,0,len2));
		}
		isr2.close();

FileOutputStream构造方法:
FileOutputStream(File file):读取文件中的数据;可以一个字节的写入,也可以一次写入一组数据
成员方法:
public void write(int b):一次写入一个字节 public void write(byte[] b):一次写入一组数据 public void write(byte[] b,int off,int len):自定义写入数据的长度 public void write(String str)一次写入一个字符串
一次写入一个数据
OutputStreamWriterosw2=newOutputStreamWriter(newFileOutputStream("a.txt"),"GBK"); osw.write(97);
一次写入一组数据
char[] chars = {'a','b','v','b'};*/ //osw.write(chars);
一次写入一个字符串
String str="zhangyan"; osw.write(str);
字节缓冲流:
BufferedOutputStream:字节缓冲输出流。
BufferedInputStream:字节缓冲输入流。
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("b.txt")); BufferedInputStream bis = new BufferedInputStream(new FileInputStream("a.txt")); 写入,读取的方法同上
总结:
数据写入成功后为什么要close();
答:因为close除了关闭流以外还有刷新的功能,不刷新数据只会在缓冲区,不会进入到目标文本、
如何实现数据的换行?
答:使用newLine();方法

猜你喜欢

转载自blog.csdn.net/weixin_44372002/article/details/86362118