猿问

如何在Java中向现有文件添加新行文本?

我想在不删除该文件的当前信息的情况下向现有文件添加新行。简而言之,这是我使用当前时间的方法:


import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.Writer;


Writer output;

output = new BufferedWriter(new FileWriter(my_file_name));  //clears file every time

output.append("New Line!");

output.close();

上面几行的问题是,它们只是擦除了我现有文件的所有内容,然后添加了新的行文本。


我想在文件内容的末尾添加一些文本,而不删除或替换任何内容。


翻过高山走不出你
浏览 502回答 3
3回答

繁花不似锦

您必须以附加模式打开文件,这可以通过使用FileWriter(String fileName, boolean append)构造函数来实现。output = new BufferedWriter(new FileWriter(my_file_name, true));应该可以

萧十郎

解决方案可以使用FileWriter,但是您无法指定输出编码,在这种情况下,将使用计算机的默认编码,并且通常不是UTF-8!因此,最好使用FileOutputStream:    Writer writer = new BufferedWriter(new OutputStreamWriter(        new FileOutputStream(file, true), "UTF-8"));

交互式爱情

试试:“ \ r \ n ”Java 7示例:// append = truetry(PrintWriter output = new PrintWriter(new FileWriter("log.txt",true))) {    output.printf("%s\r\n", "NEWLINE");} catch (Exception e) {}
随时随地看视频慕课网APP

相关分类

Java
我要回答