文件字符输入流

文件字符输入流

与FileInputStream的区别 FileReader创建char数组 字符输入

​ FileInputStream创建byte数组 字节输入

只能读取普通文本,无法读取声音,视频等文件读取文本内容时比较方便快捷。

与字节输入流差不多。注意创建的数组是char[],不是byte[]

fileReader = new FileReader("testfile");
char[]chars = new char[4];
int readcount = 0;
while ((readcount = fileReader.read(chars))!=-1){
    
    
    System.out.println(new String(chars,0,readcount));
}

文件字符输出流

可以直接写入String类型

fileWriter = new FileWriter("filewriter");
//1.建立一个char数组,把数组全部内容写入文件
char[] chars = {
    
    '你','好','啊','哈'};
int readcount =0;
fileWriter.write(chars);
//写入数组部分内容
fileWriter.write(chars,0,2);
//2.直接写入String字符串
fileWriter.write("我在学java");
fileWriter.write("\n")
fileWriter.write("输入一个换行符")
fileWriter.flush();

对比字节输出流

不能直接写入String,需要通过getBytes把字符串转为数组

String string = "我正在学习文件字符输出流";
//把字符串转变成数组getBytes()
byte[]bytes2 = string.getBytes();
fos.write(bytes2);

使用FileReader和FileWriter只能拷贝普通文本文件

没有reader.avilable() 只能while

reader = new FileReader("D:\\新建文件夹\\test1.txt");
writer = new FileWriter("C:\\Users\\ThinkPad\\Desktop\\学习笔记\\test1.txt");
char[]chars = new char[4];
int readcount = 0;
while ((readcount=reader.read(chars))!=-1){
    
    
    writer.write(chars);
}

猜你喜欢

转载自blog.csdn.net/weixin_43903813/article/details/112727859
今日推荐