我的示例代码后,一些文本demo.txt前插入文本删除了
String line = null;
RandomAccessFile file = new RandomAccessFile("D:/mahtew.txt", "rw");
System.out.println(file.getFilePointer());
while((line = file.readLine()) != null){
System.out.println(line);
System.out.println(file.getFilePointer());
if(line.contains("Text to be appended with")){
file.seek(file.getFilePointer());
file.write(" new text has been appended".getBytes());
break;
}
}
file.close();
执行
one two three
Text to be appended with
five six seven
eight nine ten
demo.txt执行后
one two three
Text to be appended with
new text has been appendedten
此外,我尝试使用setLength在添加新文本之前更改文件的长度。但仍有一些文本正在从输出文件中修剪。任何帮助将不胜感激
感谢 马修
你为什么要使用RandomAccessFile的这个?为什么不简单地使用包装在BufferedReader中的FileReader读取文件,更改字符串,然后使用包装在PrintWriter中的FileWriter写入新文件? – 2013-03-17 13:59:53