在JAVA中用bufferwriter向TXT文件中写入文件,为什么会覆盖文件?
时间: 2024-02-13 15:01:03 浏览: 222
在Java中使用BufferedWriter向TXT文件中写入数据时,如果您使用了文件输出流(FileWriter)来创建BufferedWriter对象,则默认情况下会覆盖原有文件内容。这是因为在创建文件输出流时,如果文件已经存在,会将原有文件内容清空,然后开始写入新的内容。
如果您希望在原有文件内容的基础上进行写入,可以使用FileWriter的另一个构造函数,将其第二个参数设置为true,即:
```
FileWriter writer = new FileWriter("file.txt", true);
BufferedWriter bufferedWriter = new BufferedWriter(writer);
```
其中,第二个参数表示是否以追加方式写入文件,如果设置为true,则会在原有文件内容的末尾开始写入新的数据,而不是覆盖原有文件内容。
另外,还可以使用RandomAccessFile类来实现在指定位置进行插入数据的功能,但使用起来相对复杂。
阅读全文