使用FileReader与FileWriter读写数据

-------------siwuxie095

   

   

   

   

   

   

工程名:TestFileRW

包名:com.siwuxie095.filerw

类名:FileReaderWriter.java

   

   

打开资源管理器,在工程 TestFileRW 文件夹下,放入

一个文本:java.txt

   

java.txt 的内容:

   

 

   

   

工程结构目录如下:

   

   

   

   

   

   

代码:

   

package com.siwuxie095.filerw;

   

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

   

public class FileReaderWriter {

   

/**

* 使用 FileReader FileWriter 读写数据

*

* 字节流和字符流 不仅可以读写文件数据,还可以操作网络数据、

* 获取系统的输入输出

*

* FileReader FileWriter 是专门操作文件的API

*

* 获取的 Reader Writer 对象,可以直接读取或写入,

* 也可以进一步包装成带缓冲的 Reader Writer

*

* @param args

*/

public static void main(String[] args) {

 

try {

 

 

//创建一个 FileReader,会有异常抛出,使用 try catch 捕获

//FileReader 用于读取以字符为基准的文件,用来读取文件的文本数据

FileReader fr=new FileReader("java.txt");

//FileReader read() 方法和 InputStreamReader 相同,

//所以可以将 FileReader 包装成一个 BufferedReader

BufferedReader br=new BufferedReader(fr);

 

 

//写出时使用 FileWriter,其 write()方法和OutputStreamWriter相同

//所以同样可以包装成带缓冲的Writer

FileWriter fw=new FileWriter("java_new.txt");

BufferedWriter bw=new BufferedWriter(fw);

 

 

String line;

while ((line=br.readLine())!=null) {

//readLine()的返回值丢失了换行符,需要手动加上

// 使用 PrintWriter 替代 BufferedWriter

bw.write(line+" ");

}

 

//在流关闭之前,需要将BufferedWriter强制输出,

//将缓冲输出流 flush

bw.flush();

 

 

//写出后,关闭流

bw.close();

fw.close();

br.close();

fr.close();

System.out.println("done");

 

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

   

}

   

   

运行一览:

   

   

   

   

java_new.txt:

   

   

   

   

运行后,工程结构目录一览:

   

   

   

   

   

   

【made by siwuxie095】

原文地址:https://www.cnblogs.com/siwuxie095/p/6624504.html