使用字符读写文件的流
FileReader:文件字符输入流 以字符为单位从文件中读数据
FileWriter:文件字符输出流 以字符为单位向文件中写数据
注意:这两个流仅用于读写文本文件
文件字符输出流
FileReader使用系统默认字符集,且不能改,局限性大
以下代码如若在windows上运行并且char.txt是UTF-8编码,则会乱码
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo {
public static void main(String[] args) throws IOException {
//读取文本文件
//FileReader reader=new FileReader("char.txt");
File file=new File("char.txt");
if(!file.exists()){file.createNewFile();}
/**
* FileReader默认认为使用的是适当字符集,且不能改
*/
FileReader fr=new FileReader(file);
// for(int chr=-1;;){
// if((chr=fr.read())!=-1){
// System.out.println((char)chr);
// }else{break;}
// }
// fr.close();
BufferedReader br=new BufferedReader(fr);
for(String str=null;;){
if((str=br.readLine())!=null){
System.out.println(str);
}else{break;}
}
br.close();
文件字符输出流
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterDemo {
public static void main(String[] args) throws IOException {
//也是使用默认字符集,局限性
FileWriter fw=new FileWriter("fw.txt",true);
fw.write("我是用文件字符输出流写的");
fw.flush();
fw.close();
}
}
文件字符输入输出流默认使用系统编码集,且不能改变.局限性较大