我正在尝试将控制台输出写入文本文件(Data.txt),所以这是我的代码:
PrintStream out = new PrintStream(new File("/home/cse/Desktop/Data.txt"));
System.setOut(out);
out.print("");
当我在运行程序后再次运行程序时,输出将替换Data.txt文件中存在的旧数据。但我希望它继续添加之前停止的数据。我怎么能这样做?
答案 0 :(得分:2)
您需要传递使用the constructor that accepts an append
flag创建的SELECT Set1.FromDate,MIN(List1.ToDate) AS ToDate, DATEDIFF(MONTH,Set1.FromDate,MIN(List1.ToDate))
FROM @temp Set1
INNER JOIN @temp List1 ON Set1.FromDate <= List1.ToDate
AND NOT EXISTS(SELECT * FROM @temp List2
WHERE List1.ToDate >= List2.FromDate AND List1.ToDate < List2.ToDate)
WHERE NOT EXISTS(SELECT * FROM @temp Set2
WHERE Set1.FromDate > Set2.FromDate AND Set1.FromDate <= Set2.ToDate)
GROUP BY Set1.FromDate
ORDER BY Set1.FromDate
:
FileOutputStream
PrintStream out = new PrintStream(new FileOutputStream("/home/cse/Desktop/Data.txt", true));
表示新内容将附加到现有文件中。
答案 1 :(得分:-2)
使用out.append()可以为你完成这项工作。
PrintStream out = new PrintStream(new File("/home/cse/Desktop/Data.txt"));
System.setOut(out);
out.append("");