文件输入输出处理(三)-字符流

大佬的理解->《Java IO(四) -- 字符流》

FileReader字符流读取文件,更适合用于读取文件,可以读取中文;

常用字符流类关系图

1、FileReader

1.1 初始化

FileReader(File file)
FileReader(String fileName)

1.2 读取文件内容

read() 按单个字符读取
read(char cbuf[]) 按字符数组长度读取

案例:按字符数组读取

 //test1.txt文件内容:FileWriter测试内容
try(
//初始化字符读取流
FileReader frd = new FileReader("D:/test/test1.txt");
){
//定义一个可变字符串对象
StringBuilder sbd = new StringBuilder();

//定义缓冲字符数组
char[] chars = new char[5];

int hasRead = 0; //读取到的字符长度
while((hasRead = frd.read(chars))>0){
sbd.append(new String(chars,0,hasRead));
System.out.println("每次读取:"+sbd.toString());
}

//输出文件内容
System.out.println("文件全部内容:"+sbd.toString());
System.out.println("文件读取成功!");

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

运行结果

 每次读取:FileW
每次读取:FileWriter
每次读取:FileWriter测试内容
文件全部内容:FileWriter测试内容
文件读取成功!

2、FileWriter

2.1 初始化

FileReader(String fileName)
FileReader(File file)

2.2 写入文件内容

write(String str)
write(String str, int off, int len)
write(char cbuf[])
write(char cbuf[], int off, int len)

案例:字符流直接写入字符串

 //FileWriter 字符流写文件基本用法,可以直接写字符

try( FileWriter fwr= new FileWriter("D:/test/test2.txt")){

//定义写入文件
String string = "KH96,正在学习字符流写入文件";

//直接写入目标文件
fwr.write(string);

//刷新缓冲区
fwr.flush(); //一定要刷新缓冲区

System.out.println("字符流写入成功!!!");
}catch (Exception e){
e.printStackTrace();
}

运行结果

 字符流写入成功!!! 

标签: Java

添加新评论