Как сравнить текст из внешнего файла .txt со строкой - PullRequest
1 голос
/ 29 сентября 2019

Я достиг возврата текста из внешнего текстового файла, используя этот метод здесь

FileReader reader = new FileReader("C:\\Users\\boung\\Desktop\\usernames.txt");

int character;

while ((character = reader.read()) != -1) {
System.out.print((char) character);
}
reader.close();

Этот метод печатает

username1

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

        String S = "username1";

        FileReader reader = new FileReader("C:\\Users\\boung\\Desktop\\usernames.txt");
        int character;

        while ((character = reader.read()) != -1) {
            System.out.print((char) character);
        }
        reader.close();

        if (character.contains(S)) {
        System.out.println("username1 found");


    }

Но я не могу сравнить character и S.

Мне нужно иметь возможность структурировать весь текст, возвращаемый из файла .txt, и проверить,файл содержит определенную строку, которую я ищу.Кто-нибудь может помочь?

1 Ответ

2 голосов
/ 29 сентября 2019

Вам нужно прочитать файл не символ за символом, а целую строку, которую вы можете использовать следующим кодом

   String S = "username1";
   StringBuilder contentBuilder = new StringBuilder();
    try (Stream<String> stream = Files.lines( Paths.get("C:\\Users\\boung\\Desktop\\usernames.txt"), StandardCharsets.UTF_8))
    {
        stream.forEach(s -> contentBuilder.append(s).append("\n"));
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    if (contentBuilder.toString().contains(S)) {
        System.out.println("username1 found"); 
    }

    ```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...