public class fileRW {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
RandomAccessFile rf = new RandomAccessFile("e:/huang.dat", "rw");
rf.seek(rf.length()); //将文件指针设置到最后
byte[] buffer = {'a','a','a','a','a'};
rf.write(buffer);
rf.writeByte('\n'); //写入换行符,目地是为了,读文件时候,直接读取一行
rf.close();
FileReader filereader= new FileReader("e:/huang.dat");
BufferedReader bufferedReader=new BufferedReader(filereader);
String str="";
while((str = bufferedReader.readLine())!=null){
System.out.println(str);
}
// RandomAccessFile rff = new RandomAccessFile("e:/huang.dat", "rw");
// System.out.println(rff.length());
// rff.seek(rff.length());
// byte[] bufferf = {1,2,3,4,5};
// rff.write(bufferf);
// System.out.println(rff.length());
// rff.close();
}
}
注: 其实这种方法有大 的局限性, 特别是写入 byte[] 数组的时候,因为很有可能会遇到byte数组中的某个元素的值与 '\n' 的ACS码相同,所以在使用readline()函数时候,肯定会出错。一把这种的方法只针对于写入字符串。