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+"\n");

60         rand.close();

61         

62     }

63     

64 }

65 

66 ///:~

 

 

你可能感兴趣的:(java)