我试图将一些信息附加到文本文件中,但是该文件仅显示最后写入的元素。
有很多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/