Java - проверка .txt на наличие текста по всем строкам - PullRequest
0 голосов
/ 15 июня 2011

По сути, я хочу добавить в файл .txt в зависимости от того, существует ли уже определенная строка.

Т.е. добавить строку в файл .txt, если она еще не существует.Не добавляйте строку в файл .txt, если он существует.

Каждая строка стоит отдельно

Например,

Один

Два

Три

, а не Один, Два, Три и т. Д.

Я думал об использовании readLine (), но кажется, что он определяет конец строки, когда есть разрыв, как таммои строки имеют.Метод не принимает никаких аргументов (например, номера строк), поэтому я довольно короток: /.

Any he

Ответы [ 3 ]

0 голосов
/ 15 июня 2011

Почему бы вам не использовать цикл и читать текстовый файл построчно? После цикла, если вы не нашли строку, добавьте ее в конец файла.

0 голосов
/ 15 июня 2011

Вы можете использовать, как вы предлагаете, readLine () метод RandomAccessFile , чтобы прочитать каждую строку файла в поисках ожидаемого текста.

Из Javadoc для readLine ():

Строка текста заканчивается символ возврата каретки ('\ r'), a символ новой строки ('\ n'), возврат каретки сразу сопровождаемый символом новой строки, или конец файла.

Если ожидаемый текст не найден, вы можете использовать один из методов записи RandomAccessFile , например, writeUTF () или writeBytes () для добавления строки текста в файл.

0 голосов
/ 15 июня 2011

Сначала вам нужно отсканировать части или весь файл для искомого слова, а затем добавить слово, если оно не существует.

Вы можете использовать readLine(), однако, если вы не возражаете против сторонней библиотеки, вы можете попробовать Гуава :

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

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