Содержание
Недавно я получил электронное письмо с вопросом «Могу ли я получить учебник по подсчету общего количества words , lines а также characters из файла?
Некоторое время назад я написал статью « Как читать файл построчно в обратном порядке», которая не печатает запрошенные метрики. В этом уроке мы расскажем, как напечатать общее количество символов, слов и строк для данного файла.
Давайте начнем:
- Мы будем читать файл
crunchify.txtсначала расположен в/Users/appshah/Downloads/папка. Я запускаю программу на своем Macbook Pro, поэтому замените имя пользователя наappshahс вашим настоящим именем. - Мы прочтем каждую строку и удалим несколько пробелов с помощью регулярных выражений
\s - Распечатать файл и результаты на консоли
Если вам нужна дополнительная информация о шаблоне REGEX в Java, следуйте инструкциям ниже:
- Учебник по Matcher (java.util.regex.Matcher)
- Что такое шаблон RegEx (регулярное выражение)? Как использовать это в Java?
ПРИМЕЧАНИЕ: мы используем try-with-resources заявление
оператор try-with-resources в Java
|
1
2
3
4
5
|
пытаться ( BufferedReader crunchifyBuffer знак равно новый BufferedReader ( новый FileReader ( crunchifyFile ) ) ) {
// выполнить задачу, т.е. readline. BufferedReader будет автоматически закрыт после попытки блокировки 🙂
} ловить ( Исключение е ) {
// Записать исключение
}
|
Файл, который мы используем:
crunchify.txt
|
1
2
3
4
5
6
|
PHP
// Молчание — золото.
это является Crunchify 's учебник , который подсчитывает общее количество полукокса, слова и линий. , ,
?>
|
Java-код:
CrunchifyCountWordsLineCharacters.java
Джава
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
пакет crunchify. ком . учебные пособия ;
Импортировать Java. Ио. BufferedReader ;
Импортировать Java. Ио. FileNotFoundException ;
Импортировать Java. Ио. FileReader ;
Импортировать Java. Ио. IOException ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyCountWordsLineCharacters {
общественности статический недействительным readFileAndPrintCounts ( String crunchifyFile ) бросает FileNotFoundException {
ИНТ crunchifyTotalWords знак равно 0 ;
ИНТ crunchifyTotalLines знак равно 0 ;
ИНТ crunchifyTotalCharacters знак равно 0 ;
строка crunchifyLine ;
// Чтение содержимого файла
// Оператор try-with-resources является оператором try, который объявляет один или несколько ресурсов. Ресурс — это
// объект, который должен быть закрыт после завершения программы. Оператор try-with-resources обеспечивает
// что каждый ресурс закрыт в конце оператора.
пытаться ( BufferedReader crunchifyBuffer знак равно новый BufferedReader ( новый FileReader ( crunchifyFile ) ) ) {
crunchifyLog ( ========== Содержимое файла ========== ) ;
// читаем каждую строку одну за другой
в то время как ( ( crunchifyLine знак равно crunchifyBuffer . readLine ( ) ) ! знак равно ноль ) {
crunchifyLog ( crunchifyLine ) ;
crunchifyTotalLines ++ ;
// игнорируем несколько пробелов
Строка [ ] мои слова знак равно crunchifyLine . replaceAll ( // s + , ) . сплит ( ) ;
за ( Строка s : мои слова ) {
crunchifyTotalCharacters + = с . длина ( ) ;
}
crunchifyTotalWords + = MyWords. длина ;
}
} ловить ( IOException е ) {
эл . printStackTrace ( ) ;
}
crunchifyLog ( / n ========== Результат ========== ) ;
crunchifyLog ( * Всего символов: + crunchifyTotalCharacters ) ;
crunchifyLog ( * Всего слов: + crunchifyTotalWords ) ;
crunchifyLog ( * Линии итога : + crunchifyTotalLines ) ;
}
частный статический недействительным crunchifyLog ( String строка ) {
Система. вне. println ( строка ) ;
}
общественности статический недействительным main ( Строка [ ] аргументы ) {
пытаться {
строка crunchifyFile знак равно /Users/appshah/Downloads/crunchify.txt ;
readFileAndPrintCounts ( crunchifyFile ) ;
} ловить ( FileNotFoundException е ) {
эл . printStackTrace ( ) ;
}
}
}
|
Консольный вывод:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
========== Содержимое файла ==========
PHP
// Молчание — золото.
это является Crunchify 's учебник , который подсчитывает общее количество полукокса, слова и линий. , ,
?>
========== Результат ==========
* Всего персонажей : 95
* Всего слов : 21
* Всего линий : 6
|
0.00 (0%) 0 votes








