以下代码实现对指定文本文件的写入,指定文本文件的内容的读取,以及文件的复制的操作,代码如下。

  • 1-1 文件的简单操作
 
  
  1. import java.io.File; 
  2. import java.io.FileReader; 
  3. import java.io.FileWriter; 
  4. import java.io.IOException; 
  5. //字符流: Reader(输入)    Writer(写出) 
  6. //  --FileReader      --FileWriter 
  7.  
  8. public class FileWriterTest { 
  9.     public static void main(String[] args) throws IOException { 
  10.         //给文件写入内容         注意:读写不可同时进行,一般是先写入文件,再读取内容 
  11.         File f=new File("f:\\a.txt");//文件路径,文件可以不存在,但路径必须存在 
  12.         FileWriter fw=new FileWriter(f);//文件以建立 
  13.         //FileWriter fw2=new FileWriter("f:\\a.txt",true);//文件存在,不再创建 
  14.          
  15.         String s="我是要写入文件的内容"
  16.         fw.write(s);      //在文件中写入内容 
  17.          
  18.         fw.write("\r\n");//文本文档的换行符 
  19.         fw.flush(); //刷新缓冲区资源 
  20.         fw.close();//关闭资源 
  21.          
  22.         //从文件读内容 
  23.         FileReader fr=null
  24.         fr=new FileReader("f:\\a.txt"); 
  25.         int ch=fr.read(); 
  26.         while(ch!=-1){//判断是否到文件的结尾,循环读取文本文件内容 
  27.             System.out.print((char)ch); 
  28.             ch=fr.read();            
  29.         } 
  30.         fr.close();          //关闭资源 
  31.          
  32.         //文件的复制 
  33.         FileReader fr2=null
  34.         FileWriter fw2=null
  35.         fr2=new FileReader("f:\\a.txt");   //先要读入内存 
  36.         fw2=new FileWriter("f:\\b.txt");   //再写到磁盘上 
  37.          
  38.         char[] buff=new char[1024];    //一次读一个数组,加快读写的速度 
  39.         int len; 
  40.         while((len=fr2.read(buff))!=-1){ 
  41.             fw2.write(buff, 0, len); 
  42.         } 
  43.          
  44.         fr2.close();   //关闭资源 
  45.         fw2.close();   //关闭资源 
  46.     } 

程序运行前:f盘根目录不存在 a.txt,运行后如图:

a.txt是文件写操作产生的文件,b.txt是文件复制操作复制a.txt产生的文件,两个文件的内容如下:

同时控制台打印如下信息(控制台信息是读操作读取a.txt文件产生的数据),如下: