JAVA-随机读写文件

 File类通过使用 . 来获取当前路径,从而取得文件。
       File f = new File(".\\Res\\Temp.txt");
    或者直接使用空构造函数:
       File  f = new File("");

 


此时f.getpath()相当于当前目录。
之后读取文件可以使用流:
       BufferedReader br = new BufferedReader(new FileReader(f));
        来读取,其中FileReader是InputStreamReader的子类。
想清空文件内容直接使用
       FileWriter fw = new FileWriter();
          Fw.write("");
        就可以。


如果想随机读写文件,则应当RandomAccessFile类来进行。
此类包含一个pointer可以使用seek方法改变pointer位置。

      RandomAccessFile raf = new RandomAccessFile(f.getCanonicalPath(),"rws");

      raf.seek(raf.length());
         raf.write(bb.array());


通过这种方法实现追加写,写入时记得
          Charset cs = Charset.forName("UTF-8");
          ByteBuffer bb  = cs.encode(cb);


变成UTF编码存入文件。
RandomAccessFile也有readbyte等方法,记得使用decode方法解决编码的问题,不然会产生乱码。

还有一点要注意就是使用seek的时候,新的写入并不是插入(Insert),而是覆写(Overwriting),写入时要多加注意。
posted @ 2017-03-26 21:16  dabney  阅读(1705)  评论(0编辑  收藏  举报