在Java中切换文本文件中的两行
我在这件事上纠缠了一段时间,最后决定请求帮助。 所以我有一个小的文本文件,用户想从中切换两行,用户输入这两行的索引,我必须切换em。 到目前为止,我的想法是使用带有2个正则表达式的replaceALL ,但是A:那可能不会切换它们,而只是用另一个替换一个,给我留下一个副本;B:我不知道如何使用正则表达式定位第n行; 或者使用-Files.readAllLines(path.get(name)).get(index);要得到这两条线路,但我仍在努力进行实际的切换过程。您可以使用在Java中切换文本文件中的两行,java,file,Java,File,我在这件事上纠缠了一段时间,最后决定请求帮助。 所以我有一个小的文本文件,用户想从中切换两行,用户输入这两行的索引,我必须切换em。 到目前为止,我的想法是使用带有2个正则表达式的replaceALL ,但是A:那可能不会切换它们,而只是用另一个替换一个,给我留下一个副本;B:我不知道如何使用正则表达式定位第n行; 或者使用-Files.readAllLines(path.get(name)).get(index);要得到这两条线路,但我仍在努力进行实际的切换过程。您可以使用 文件。readA
获取所有行作为列表文件。readAllLines
- 交换列表中的两个元素。e、 g.
Collections.swap
- 将所有行写回以更新文件
- 使用RandomAccessFile从文件的开头读取所需行的开始/结束
- 将这两行读入缓冲区
- 将这两行写在适当的位置,但交换
myFile
并将outputFile
重命名为磁盘上以后命名的myFile
:
myFile.delete();
outputFile.renameTo(myFile);
我相信这是可行的,但我还没有测试过。它需要处理大文件吗?谢谢,我稍后会尝试。
myFile.delete();
outputFile.renameTo(myFile);