好吧,我有一些麻烦,写多行到一个文本文件中。
程序运行,但它不会使用新的生产线,每次
当我想它运行4次,文本文件应该是这样的:
a
b
c
d
相反,它是这样的:
d
谁知道如何解决这个问题? 所有进口正确导入。
源(它被略加编辑,承担一切都正确定义):
import java.io.*;
public class Compiler {
public static void main (String args[]) throws IOException
{
//there's lots of code here
BufferedWriter outStream= new BufferedWriter(new FileWriter("output.txt"));
outStream.newLine();
outStream.write(output);
outStream.close();
}
}
确保当你创建一个实例FileWriter
,你是追加到它的结束。 这可以通过使用来完成这一特定FileWriter
构造这需要额外的boolean
作为第二参数。 这boolean
告诉FileWriter
附加到文件末尾,而不是覆盖该文件。
BufferedWriter outStream= new BufferedWriter(new FileWriter("encoded.txt", true));
默认情况下FileWriter
将覆盖该文件。 你可能会想要做的是确定通过以下方式阅读:
new FileWriter("encoded.txt", true)
这样,该文件将被的而不是被 。
希望这可以帮助!
我不知道这是什么代码是应该做的。 如果你输入的字符串多于一个字符长,因为你闭上你的FileWriter内循环,然后尝试再次写入它抛出一个错误。
我解释你的问题的方式如下:你想知道为什么只有最近输出的文件中。 在这种情况下,那是因为你没有创建附加模式您的FileWriter。 看看可供FileWriter的不同构造,并使用一个允许您将追加到该文件。