Как рассчитать количество писем, написанных в текстовом файле - PullRequest
0 голосов
/ 04 мая 2020

Хотелось бы узнать, есть ли простой способ подсчета букв в текстовом файле. Допустим, у меня есть разные txt-файлы с разным количеством написанных букв, и я хочу удалить все txt-файлы, которые содержат больше букв, чем, скажем, 2000. Кроме того, давайте предположим, что я имею дело с одним txt за раз. Я пробовал это до сих пор:

FileReader reader2 = new FileReader("C:\\Users\\Internet\\eclipse-workspace\\test2.txt");
BufferedReader buff = new BufferedReader(reader2)){

int counter = 0;

            while(buff.ready()){
                String aa = buff.readLine();
                counter = counter + aa.length();

            }
            System.out.println(counter);
        }
        catch(Exception e) {
            e.printStackTrace();
        }

Есть ли более простой способ или тот, который имеет лучшую производительность? Чтение всех писем в строке, чтобы потом просто отбросить их, кажется пустой тратой времени. Должен ли я использовать InputStream и использовать available (), а затем разделить? С другой стороны, я увидел, что available () считает буквально все, как когда я нажимаю Enter в текстовом файле, он добавляет +2 к количеству букв. Спасибо за все ответы.

1 Ответ

3 голосов
/ 04 мая 2020

Вы можете использовать Files.lines, как показано ниже,

counter = Files.lines(Paths.get("C:\\Users\\Internet\\eclipse-workspace\\test2.txt"))
        .mapToInt(String::length)
        .sum();
...