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

use*_*160 6 java file

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

例如myFile:

1: line 1
2: line 2
3: line 3
4: line 4
Run Code Online (Sandbox Code Playgroud)

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

1: line 1
2: line 2
3: new line
4: line 3
5: line 4
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢

M. *_*and 8

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

List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
lines.add(position, extraLine);
Files.write(path, lines, StandardCharsets.UTF_8);
Run Code Online (Sandbox Code Playgroud)

举个例子:

Path path = Paths.get("C:\\Users\\foo\\Downloads\\test.txt");
List<String> 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);
Run Code Online (Sandbox Code Playgroud)