public void append_to_end() {
try {
RandomAccessFile raf = new RandomAccessFile("mynewfile.txt", "rw");//读写方式打开文件
raf.seek(raf.length());//将记录指针移动到文件末尾
raf.write("你需要添加的内容\r\n".getBytes());
} catch (FileNotFoundException e) {
log.error(e.getMessage(), e);
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
使用开源jar包[commons-is-2.4.jar]
public void append_to_end(){
File file = new File("append.txt");
try {
FileUtils.write(file, "你需要添加的内容\r\n", true);
FileUtils.write(file, "你需要添加的内容\r\n", "UTF-8", true);
} catch (IOException e) {
e.printStackTrace();
}
}
以下摘自李刚编著《Java疯狂讲义》
public void seek(){//从指定的位置开始往下读取所有内容
try {
RandomAccessFile raf = new RandomAccessFile("pom.xml", "r");//只读方式打开pom.xml文件
//获取RandomAccessFile对象文件指针的位置,初始位置是0
log.info("RandomAccessFile的文件指针的初始位置:" + raf.getFilePointer());
//移动raf的文件记录指针的位置
raf.seek(300);
byte[] bbuf = new byte[1024];//每次读取大小1k
//用于保存实际读取的字节数
int hasRead = 0;
//使用循环来重复“取水”过程
while((hasRead=raf.read(bbuf)) > 0) {
//取出“竹筒”中的水滴(字节),将字节数组转换成字符串输入
log.info(new String(bbuf, 0, hasRead));
}
} catch (FileNotFoundException e) {
log.error(e.getMessage(), e);
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}