java文件写入不覆盖怎么操作
匿名提问者2023-09-25
java文件写入不覆盖怎么操作
推荐答案
在Java中,如果你想向文件中写入内容而不覆盖原有内容,你可以使用RandomAccessFile类。RandomAccessFile类提供了对文件的随机读写访问。下面是一个示例代码,展示如何使用RandomAccessFile类实现在文件末尾追加内容的操作:
import java.io.IOException;
import java.io.RandomAccessFile;
public class FileAppendExample {
public static void main(String[] args) {
String fileName = "example.txt";
String content = "这是新的内容,将被追加到文件末尾。\n";
try (RandomAccessFile randomAccessFile = new RandomAccessFile(fileName, "rw")) {
long fileLength = randomAccessFile.length();
randomAccessFile.seek(fileLength);
randomAccessFile.writeBytes(content);
System.out.println("内容已成功追加到文件末尾。");
} catch (IOException e) {
System.out.println("写入文件时发生错误:" + e.getMessage());
}
}
}
在上述代码中,我们创建了一个RandomAccessFile对象,并将打开模式设置为"rw",表示以读写模式打开文件。通过调用length()方法,我们获取文件的当前长度。然后,使用seek()方法将文件指针设置到文件末尾,即当前长度位置。最后,调用writeBytes()方法将新的内容追加到文件末尾。
每次运行代码时,新的内容都会被追加到现有文件的末尾,而不会覆盖原有内容。