Java - 检查所有行中现有文本的.txt

时间:2011-06-14 20:45:44

标签: java file io text-files readline

基本上,我希望添加到.txt文件,具体取决于某条线是否已经存在。

即。如果该行不存在,请将该行添加到.txt文件中。 如果存在,请不要将该行添加到.txt文件中。

每条线都是独立的

E.g。

两个

而不是 一,二,三等。

我正在考虑使用readLine(),但似乎它在有休息时定义了行的结尾,就像我的行一样。该方法不接受任何参数(例如行号),所以我很简短:/。

任何他

3 个答案:

答案 0 :(得分:0)

你基本上首先必须扫描你正在寻找的单词的部分文件或整个文件,然后如果它不存在则附加单词。

您可以使用readLine(),但如果您不介意第三方库,则可以尝试Guava

File theFile = ...
String theWord = ...

String text = Files.toString(theFile, "utf-8");
if (!text.contains(theWord)) {
   Files.append(theWord,  theFile, "utf-8")
}

答案 1 :(得分:0)

为什么不使用循环并逐行读取文本文件?循环之后,如果没有找到该行,请将其附加到文件的末尾。

答案 2 :(得分:0)

您可以按照建议使用readLine()RandomAccessFile方法来阅读文件的每一行,查找预期的文本。

来自readLine()的javadoc:

  

一行文字以a结尾   回车符('\ r'),a   换行符('\ n'),a   立即回车   接着是换行符,或者   文件的结尾。

如果找不到预期的文本,那么您可以使用RandomAccessFile的一种写入方法,例如writeUTF()writeBytes()将文本行添加到文件中。