读文件的各种方式:

1、FileInputStream reader = new FileInputStream(file);//字节流

2、Reader reader = new FileReader(file);//字符流,继承InputStreamReader,默认的系统编码格式

3、InputStreamReader reader = new InputStreamReader(new FileInputStream(file));或者

InputStreamReader reader = new InputStreamReader(new FileInputStream(file), "GBK");//可以指定编码格式

 

一般的字节流读取时,利用FileInputStream,而字符流的读取可用FileReader,他只继承了InputStreamReader有关默认编码的方法,如果要指定编码,要用到InputStreamReader。

 

为提高效率,在读取字符流时可用

BufferedReader reader = new BufferedReader(new FileReader(file));

或者

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK") );

然后执行read或者readline操作即可

 

写文件的格式:

1FileOutputStream writer = new FileOutputStream(file);//可设置编码

writer.write(content.getBytes("GBK"));

2Writer writer = new FileWriter(file);//默认编码

3OutputStreamWriter writer = new OutputStreamWriter(newFileOutputStream(file), "GBK");或者OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file));

为提高效率,对称的也有BufferedWriter output = new BufferedWriter(new FileWriter(txtfile, true));

 

可以看出读写对称