我想知道是否可以在带有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
我发现如何在空文件或文件末尾添加文本,但我不知道如何在文本中间执行此操作而不删除该行。
另一种方法是将第一个文件分成两部分,然后创建一个文件,将新行的第一部分添加到第二部分,然后是第二部分因为感觉有点极端吗?
谢谢
答案 0 :(得分:8)
在Java 7+中,您可以使用Files
和Path
类,如下所示:
List<String> 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<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);
答案 1 :(得分:1)
您可以将文件读入ArrayList
,您可以在任何位置添加元素并操纵所有元素及其数据,然后您可以将其再次写入文件。
PD:你不能直接在文件中添加一行,你只需要读取和写入/追加数据,你必须在内存中操作de数据然后重新写入。
让我知道这对你有用吗</ p>