我试图将一些信息附加到文本文件中,但是该文件仅显示最后写入的元素。

有很多Engineer,但是它仅将读取的最后一个元素打印到文件中。

例如:

Engineer e = new Engineer(firstName,surName,weeklySal);
PrintStream writetoEngineer = new PrintStream(new File ("Engineer.txt"));

//This is not append. Only print. Overwrites the file on each item.
writetoEngineer.append(e.toString() + " "  + e.calculateMontly(weeklySal));

最佳答案

我看不到您要关闭文件的位置。我也看不到你读任何东西。

我假设您想附加到文件而不是每次都覆盖它。在这种情况下,您需要使用FileOutputStream的append选项,因为这不是默认行为。

PrintStream writetoEngineer = new PrintStream(
     new FileOutputStream("Engineer.txt", true));

顺便说一句:e.toString() + " "e + " "几乎相同,只是如果e为null不会引发异常。

关于java - 文件写入-PrintStream append ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8043356/

10-11 05:18