带缓存的输入流和输出流
原创
©著作权归作者所有:来自51CTO博客作者wx5e6caa8b9792d的原创作品,请联系作者获取转载授权,否则将追究法律责任
文件输入流FileOutputStream,向文件中写入数据
文件输出流FileInputStream.读取文件中的内容。
由于汉字在文件中,如果使用字节流,读取不好会乱码。
采用FileReader 和FileWriter字符流对对应了FileInputStream,和FileOutputStream,
可防止乱码。
BufferInputStream
可以对所有InputStream类进行带缓存区的包装以达到性能的优化。
BufferOutputStream
可以对所有InputStream类进行带缓存区的包装以达到性能的优化。只不过他有一个flush方法讲缓存区的数据强制输出玩,
package com.java.charpter15;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class Student {
public static void main(String[] args) {
//定义字符串数组
String content[]={"好久不见","最近好吗?","常联系"};
File file=new File("work.txt");
try {
FileWriter fw=new FileWriter(file);
//创建BufferedWriter对象
BufferedWriter bufw=new BufferedWriter(fw);
for (int i = 0; i < content.length; i++) {
bufw.write(content[i]);
bufw.newLine();//单个元素以单行形式写入
}
bufw.close();
fw.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
FileReader fr=new FileReader(file);
BufferedReader bufr=new BufferedReader(fr);
String s=null;
int i=0;
while ((s=bufr.readLine())!=null) {
i++;
System.out.println("第"+i+"行"+s);
}
bufr.close();
fr.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}