【发布时间】:2014-07-31 14:03:49
【问题描述】:
所以我想读取一个文件并查找一个特定的行,然后是 50 行左右,然后从该文件中删除这些行并将其他行写入另一个文件。我需要一些帮助开始,以及一些方法的想法。我打算做一个简单的方法。例如,这将是 txt 文件:
hi
hey
12
14
456
234
23
bye
53
2312
434
我想找到行 hey 并删除从“hey”到“bye”(包括)的所有行。这将在文件中在不同的地方重复多次(大约 1000 次)。此外,两者之间的行数将始终相同......所以如果可能的话,我什至可以从“嘿”和下一个____行中删除。感谢您的任何想法!
FileInputStream fstream = new FileInputStream("file name");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
System.out.println (strLine);
}
//Close the input stream
br.close();
}
【问题讨论】:
-
您使用的是什么操作系统?如果您使用的是 Linux 或 OS X,那么您也许可以使用
sed命令来执行此操作。 -
等一下,所以你只需要逐行读取文件,如果你遇到开始的那一行就开始忽略这些行,然后当你遇到结尾的那一行然后忽略它并开始不忽略线?我理解正确吗?因为这很简单,只要确保我理解正确即可
-
我没有使用 Linux 或 OS X,但是如果我找到起跑线,我就必须寻找它停止的终点。但这对起止行会在文件中出现多次,而不是一次。
标签: java bufferedreader readline fileinputstream writetofile