static void goOut(String in) {
//instance variables
String fileCopy = currentLine + in;
try {
FileWriter writer = new FileWriter(output,true);
writer.write(line1 + System.getProperty("line.separator", "\r\n"));
writer.write(fileCopy + System.getProperty("line.separator", "\r\n"));
} catch(IOException ex) {
ex.printStackTrace();
}
}
按照其他用户的指示编辑正确标准的代码。
答案 0 :(得分:0)
我相信你想要把工作分开来了#go; goOut"负责。
你应该做出#34; goOut" 仅编写数字(在您的示例中)。
y的编写(在你的例子中)不应该是方法的一部分,并且在写入文件的开始时调用一次。
另外,@ Jon Skeet对多个FileWriters是正确的。使用一个,因为它是相同的文件。
答案 1 :(得分:0)
当然因为那是你要告诉它的事情。每次调用它都会写x和数字。快速修复:你可以保留一个标志,如果它是第一次运行设置 flag = true。并检查你的方法,就像这样:
public class YourClass{
private boolean didRun = false;
static void goOut(String in) {
...... init ur file and writer
if(!didRun)
writer.write(Y);
writer.write(in);
writer.close();
didRun = true;
}
}
我不知道剩下的代码,但我认为这就是你需要的
答案 2 :(得分:0)
同意,听起来像是一场灾难。
当您使用多个编写器访问该文件时,我希望得到不可预测的结果。
我不认为FileWriter1会在FileWriter2之前完成任务。
此外,该方法不同步。