File类通过使用 . 来获取当前路径,从而取得文件。
File f = new File(".\\Res\\Temp.txt");
或者直接使用空构造函数:
此时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),写入时要多加注意。