我是 Java 新手,我正在编写一个小程序来学习和理解 Java。 用户应该能够创建一个项目,稍后对其进行编辑并添加处理该项目的成员。 所有这些都应该使用 Java 插入到文本文件中(通过控制台)。 我设法创建它并向其中添加成员,但编辑它不起作用。
对于编辑,它应该删除前七行并用新输入覆盖它。 文本文件的其余部分不应更改。
我的所有尝试最终都导致整个文件被新输入覆盖。
不确定整个内容在一个字符串中而不是七个单独的字符串是否有区别。
File file = new File("C://Users/Prakt1/Desktop/projektverwaltung.txt");
String content = ("ID: " + (id) + LINE_SEPARATOR + "Projektname: " + (projektname) +
LINE_SEPARATOR + "Beschreibung der Projektaktivitäten: " + (beschreibung) + LINE_SEPARATOR +
"Beginn: " + (beginn) + LINE_SEPARATOR + "Ende des Projekts: " + (ende) + LINE_SEPARATOR + "Dauer des Projekts: "
+ (diffDays) + " Tage" + LINE_SEPARATOR);
这个主题可能是重复的(我想打开一个文本文件并在java“这里”>这里编辑特定行,但是类似问题的答案并没有让我找到解决方案。 对于刚接触 Java 的人来说,当我更改一行代码时,很难判断代码是否适合我 或者说它完全不同。
非常感谢您的帮助, 克里斯
最佳答案
如果您的目标是用新内容替换文件的前七行,并保持文件的其余部分相同,则只有一种可靠的方法可以做到这一点。
将整个文件逐行读取到内存中。这可以是
ArrayList
或任何其他保留顺序的数据结构。将 7 行(数据结构的前 7 项)更改为您想要的新 7 行。
再次逐行写出整个文件。
关于java - 如何用 Java 中的新输入替换文本文件的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24692414/