Java将文本添加到文件中的特定行
我想知道是否有可能在File with Java中添加一行。Java将文本添加到文件中的特定行
例如MYFILE:
1: line 1
2: line 2
3: line 3
4: line 4
我想在第三行中添加一行狐狸例如所以它看起来像这样
1: line 1
2: line 2
3: new line
4: line 3
5: line 4
我发现了如何在添加文本空文件或在文件的末尾,但我不知道如何在文本中间不删除该行。
是另一种方式比剪切第一个文件的两部分,然后创建一个文件添加第一部分新行然后第二部分,因为这感觉有点极端?
谢谢
在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);
你好,我想这是非常有用的使用这个,但我得到一个IDE错误“在配置的语言级别不可用的api的使用”。显然路径和文件被记录为1.6+,但我使用的Java版本1.7,所以它应该工作赖特?我真的不明白 – user3718160
是的,这适用于Java 7,您正在使用哪种IDE? –
InteliJ社区最后的版本 – user3718160
你可以阅读您的文件到一个ArrayList
,你可以在任何位置添加元素,并操纵所有元素及其数据,然后你可以再次写入文件。
PD:你不能直接添加一行到文件,你只能读写数据,你必须在内存中操纵数据,然后再写入。
让我知道如果你
您可以使用http://stackoverflow.com/questions/289965/inserting-text-into-an-existing-file-via-java – nikli