以下代码实现对指定文本文件的写入,指定文本文件的内容的读取,以及文件的复制的操作,代码如下。
- 1-1 文件的简单操作
- import java.io.File;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- //字符流: Reader(输入) Writer(写出)
- // --FileReader --FileWriter
- public class FileWriterTest {
- public static void main(String[] args) throws IOException {
- //给文件写入内容 注意:读写不可同时进行,一般是先写入文件,再读取内容
- File f=new File("f:\\a.txt");//文件路径,文件可以不存在,但路径必须存在
- FileWriter fw=new FileWriter(f);//文件以建立
- //FileWriter fw2=new FileWriter("f:\\a.txt",true);//文件存在,不再创建
- String s="我是要写入文件的内容";
- fw.write(s); //在文件中写入内容
- fw.write("\r\n");//文本文档的换行符
- fw.flush(); //刷新缓冲区资源
- fw.close();//关闭资源
- //从文件读内容
- FileReader fr=null;
- fr=new FileReader("f:\\a.txt");
- int ch=fr.read();
- while(ch!=-1){//判断是否到文件的结尾,循环读取文本文件内容
- System.out.print((char)ch);
- ch=fr.read();
- }
- fr.close(); //关闭资源
- //文件的复制
- FileReader fr2=null;
- FileWriter fw2=null;
- fr2=new FileReader("f:\\a.txt"); //先要读入内存
- fw2=new FileWriter("f:\\b.txt"); //再写到磁盘上
- char[] buff=new char[1024]; //一次读一个数组,加快读写的速度
- int len;
- while((len=fr2.read(buff))!=-1){
- fw2.write(buff, 0, len);
- }
- fr2.close(); //关闭资源
- fw2.close(); //关闭资源
- }
- }
程序运行前:f盘根目录不存在 a.txt,运行后如图:
a.txt是文件写操作产生的文件,b.txt是文件复制操作复制a.txt产生的文件,两个文件的内容如下:
同时控制台打印如下信息(控制台信息是读操作读取a.txt文件产生的数据),如下: