Java将文本添加到文件中的特定行

我想知道是否可以在带有Java的文件中添加一行。

例如myFile:

1: line 1 2: line 2 3: line 3 4: line 4 

我想在第三行添加一个line fox示例,所以它看起来像这样

 1: line 1 2: line 2 3: new line 4: line 3 5: line 4 

我发现了如何在空文件或文件末尾添加文本但我不知道如何在文本中间执行它而不删除行。

另一种方法是将第一个文件分成两部分,然后创建一个文件,将新行的第一部分添加到第二部分,然后是第二部分因为感觉有点极端?

谢谢

在Java 7+中,您可以使用FilesPath类,如下所示:

 List lines = Files.readAllLines(path, StandardCharsets.UTF_8); lines.add(position, extraLine); Files.write(path, lines, StandardCharsets.UTF_8); 

举个例子:

 Path path = Paths.get("C:\\Users\\foo\\Downloads\\test.txt"); List lines = Files.readAllLines(path, StandardCharsets.UTF_8); int position = lines.size() / 2; String extraLine = "This is an extraline"; lines.add(position, extraLine); Files.write(path, lines, StandardCharsets.UTF_8); 

您可以将文件读入ArrayList ,您可以在任何位置添加元素并操纵所有元素及其数据,然后您可以将其再次写入文件。

PD:你不能直接在文件中添加一行,你只需要读取和写入/附加数据,你必须在内存中操作de数据然后再写一次。

如果这对您有用,请告诉我