Java写操作

 1 //:ThinkingInJava/net.mindview.io/write2File.java
 2 package net.mindview.io;
 3 
 4 import java.io.BufferedReader;
 5 import java.io.BufferedWriter;
 6 import java.io.FileNotFoundException;
 7 import java.io.FileReader;
 8 import java.io.FileWriter;
 9 import java.io.IOException;
10 import java.io.PrintWriter;
11 import java.io.RandomAccessFile;
12 import java.io.StringReader;
13 import java.util.LinkedList;
14 
15 /**
16  * 
17  * @Time 2014-6-10
18  * @Descri write2File.java 文件写操作细究
19  *         1> 在文件尾部添加新的内容
20  *         2> 改变文件指定行的内容
21  *         3> 改变文件指定位置处的内容
22  *         4> 比较不同方式的文件操作
23  * @author wgm 
24  */
25 public class write2File {
26     /**
27      * PrintWriter:此方式若下一次再打开文件流,欲向其中写入新的内容,则原先内容将被覆盖
28      * @throws IOException 
29      */
30     public static void BasicFileOut() throws IOException{
31         BufferedReader br=new BufferedReader(new FileReader("day1"));
32         PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter("day2")));
33         int linCount=1;
34         String s;
35         while((s=br.readLine())!=null){
36             out.println(linCount++ +":"+s);
37         }
38         out.close();
39         
40     }
41     /**
42      * 实现在文件尾追加新的内容
43      * @throws IOException
44      */
45     public static void RandFileOut() throws IOException{
46         RandomAccessFile rand=new RandomAccessFile("day2", "rw");
47         rand.seek(rand.length()-1);
48         String line="12: wgm";
49         //writeUTF方法在写字符串之前会先写两个字节,表示实际的字节数
50         rand.writeUTF(line);
51         //验证追加的内容
52         rand.seek(rand.getFilePointer()-9);
53         System.out.println(rand.readUTF());
54         //改变文件指定行的内容,回到文件首部,读取一行,改变该行内容
55         rand.seek(0);
56         line=rand.readLine();
57         line="This line has been changed!!!";
58         rand.seek(0);
59         rand.writeUTF(line+"
");
60         rand.close();
61         
62     }
63     
64 }
65 
66 ///:~
原文地址:https://www.cnblogs.com/java-wgm/p/3780787.html