版权声明:所有博客本人原创,转载注明出处即可 https://blog.csdn.net/qq_42813491/article/details/88370042
承接上文
- 这篇介绍的是java常见的io操作,偏字节流->https://blog.csdn.net/qq_42813491/article/details/87970428
FileWriter类的使用
写文件
package io;
import java.io.FileWriter;
public class Operation_IO {
public static void main(String[] args) throws Exception {
// FileWriter->文件输出流,用来写数据
FileWriter fw = new FileWriter("c://aa.txt");// 该路径事先可以不存在,相对绝对都可以
fw.write("冷月心");
// flush将数据从暂存区刷到磁盘上
// 没有这一步也可以,close方法执行的时候同样会刷新数据
// 二者区别在于后续还能不能继续写文件
fw.flush();
System.out.println("写入成功");
fw.close();// 关闭流
}
}
- 也可以这样,写入指定部分的字符串
String str="冷月心";
fw.write(str,1,2);//月心
追加写入+换行
- 默认写入是覆盖写入
FileWriter fw = new FileWriter("c://aa.txt", true);// true表示追加写入,默认false
fw.write("\r\n");// 换行
fw.write("倩女");// 追加写入的内容
FileReader类的使用
读文件
// FileReader->文件输入流,用来读数据
FileReader fr = new FileReader("aa.txt");// 这次用相对路径
int len = 0;// 保存读取的数据,实际上是二进制
while ((len = fr.read()) != -1) {
System.out.println(len);
}
fr.close();// 关闭流
-
aa.txt内容
-
流读取结果
-
可以强转一下
System.out.println((char)len);
文件复制
// 创建输入流对象
FileReader fr = new FileReader("aa.txt");
// 创建输出流对象
FileWriter fw = new FileWriter("copy_aa.txt");
// 读写数据
int len = 0;
while ((len = fr.read()) != -1) {
fw.write(len);
}
System.out.println("复制完成");
// 释放资源
fw.close();
fr.close();
-
效果图
-
需要刷新一下
· 缓冲流就不介绍了,可以参考我的上一篇博客·