读文件的各种方式:
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操作即可
写文件的格式:
1、FileOutputStream writer =newFileOutputStream(file);//可设置编码
writer.write(content.getBytes("GBK"));
2、Writer writer = new FileWriter(file);//默认编码
3、OutputStreamWriter writer =newOutputStreamWriter(newFileOutputStream(file),"GBK");或者OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file));
为提高效率,对称的也有BufferedWriter output = new BufferedWriter(new FileWriter(txtfile, true));
可以看出读写对称