Java посчитать сколько символов в текстовом файле

Я новичок по Java и более менее разобрался, как работать с файлами. Решил попробовать решить задачку: "Есть текстовый файл, содержащий 10^6 символов. Надо посчитать сколько символов X есть в данном файле". На пайтоне не представило сложности написать данную программу, но для Java я никак не могу сообразить, как написать её.


Ответы (1 шт):

Автор решения: Zhenyria

Ну на самом деле здесь ничего сложно. Можно решить задачу в лоб:

public int countSymbol(File file) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader(file));
        int count = 0;
        while (reader.ready()) {
            for (char symbol : reader.readLine().toCharArray()) {
                if (symbol == 'X') {
                    count++;
                }
            }
        }
        return count;
    }

Сначала вы создаёте обёртку BufferedReader, которая может считывать строки. Обёртка принимает реализацию интерфейса Reader (например, нам подходит FileReader, который предназначен для чтения текстовых файлов).

Потом в цикле считываете по строке из файла и во вложенном цикле прогоняете полученную строку по совпадению с символом "X".

Ознакомьтесь с документацией: BufferedReader, FileReader.

→ Ссылка