基本上,我希望添加到.txt文件,具体取决于某条线是否已经存在。
即。如果该行不存在,请将该行添加到.txt文件中。 如果存在,请不要将该行添加到.txt文件中。
每条线都是独立的
E.g。
一
两个
三
而不是 一,二,三等。
我正在考虑使用readLine(),但似乎它在有休息时定义了行的结尾,就像我的行一样。该方法不接受任何参数(例如行号),所以我很简短:/。
任何他
答案 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()将文本行添加到文件中。