字节缓冲流读写BufferedInputStream/Buffered0utputStream
字节缓冲流读写BufferedInputStream/Buffered0utputStream
- 提高IO效率,减少访问磁盘的次数;
- 数据存储在缓冲区中,flush是将缓存区的内容写入文件中,也可以直接close。
BufferInputStream
字节缓冲流读取
package IO;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
/**
* 使用字节缓冲流读取
*BufferInputStream
* @author liu
*/
public class Demo03 {
public static void main(String[] args) throws IOException {
//1.创建bufferedInputStream
FileInputStream fis = new FileInputStream("G:\\\\工具.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
//2读取
/* int date = 0;
while ((date = fis.read()) != -1) {
System.out.print((char) date);
}*/
byte[] buf = new byte[1024];
int count = 0;
while ((count = bis.read(buf)) != -1) {
System.out.println(new String(buf, 0, count));
}
//3关闭流
bis.close();
}
}
BufferedOutputStream
字节缓冲流写入文件
package IO.Demo03;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 使用字节缓冲流写入文件
*BufferedOutputStream
* @author liu
*/
public class Demo02 {
public static void main(String[] args) throws IOException {
//1创建字节输出缓冲流
FileOutputStream fos = new FileOutputStream("G:\\新建文本文档.txt");
BufferedOutputStream bos = new BufferedOutputStream(fos);
//2写入文件
String world = "hello";
for (int i = 0; i < 5; i++) {
bos.write(world.getBytes());//写入8K缓冲区
bos.flush();//刷新到硬盘
}
//3关闭流
bos.close();
}
}