java中的IO操作(FileWriter +FileReader)

版权声明:所有博客本人原创,转载注明出处即可 https://blog.csdn.net/qq_42813491/article/details/88370042

承接上文

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();
  • 效果图
    在这里插入图片描述
    在这里插入图片描述

  • 需要刷新一下


· 缓冲流就不介绍了,可以参考我的上一篇博客·

猜你喜欢

转载自blog.csdn.net/qq_42813491/article/details/88370042