Программа Java для подсчета количества строк, слов, символов и абзацев в текстовом файле
Подсчет количества символов важен, потому что почти все текстовые поля, которые зависят от пользовательского ввода, имеют определенные ограничения на количество вставляемых символов. Например, ограничение на количество символов в сообщении Facebook составляет 63206 символов. В то время как для твита в Твиттере ограничение составляет 140 символов, а для Snapchat — 80 символов.
Определение ограничений на количество символов становится критически важным, когда обновления твитов и постов в Facebook выполняются через API.
Используемые встроенные функции
1. Файл (имя строки):
Эта функция присутствует в пакете java.io.File . Он создает новый экземпляр файла путем преобразования заданной строки пути в абстрактный путь.
Синтаксис:
public File(String pathname)
Параметры:
pathname - A pathname string
2. FileInputStream (Файловый файл):
Эта функция присутствует в пакете java.io.FileInputStream . Он создает FileInputStream, открывая соединение с фактическим файлом, названным файлом объекта File в файловой системе.
Синтаксис:
public FileInputStream(File file) throws FileNotFoundException
Параметры:
file - the file to be opened for reading.
Броски:
- FileNotFoundException — если файл не существует, является каталогом, а не обычным файлом, или по какой-либо другой причине не может быть открыт для чтения.
- SecurityException — если диспетчер безопасности существует и его метод checkRead запрещает чтение файла.
3. InputStreamReader (входной поток):
Эта функция присутствует в пакете java.io.InputStreamReader . Он создает InputStreamReader, который использует кодировку по умолчанию.
Синтаксис:
public InputStreamReader(InputStream in)
Параметры:
in - An InputStream
4. BufferedReader (считыватель в):
Эта функция присутствует в пакете java.io.BufferedReader . Он создает буферизованный поток ввода символов, который использует входной буфер размера по умолчанию.
Синтаксис:
public BufferedReader(Reader in)
Параметры:
in - A Reader
Пример:
Java
// Java program to count the // number of lines, words, sentences, // characters, and whitespaces in a file import java.io.*; public class Test { public static void main(String[] args) throws IOException { File file = new File( "C:\Users\hp\Desktop\TextReader.txt" ); FileInputStream fileInputStream = new FileInputStream(file); InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line; int wordCount = 0 ; int characterCount = 0 ; int paraCount = 0 ; int whiteSpaceCount = 0 ; int sentenceCount = 0 ; while ((line = bufferedReader.readLine()) != null ) { if (line.equals( "" )) { paraCount += 1 ; } else { characterCount += line.length(); String words[] = line.split( "\s+" ); wordCount += words.length; whiteSpaceCount += wordCount - 1 ; String sentence[] = line.split( "[!?.:]+" ); sentenceCount += sentence.length; } } if (sentenceCount >= 1 ) { paraCount++; } System.out.println( "Total word count = " + wordCount); System.out.println( "Total number of sentences = " + sentenceCount); System.out.println( "Total number of characters = " + characterCount); System.out.println( "Number of paragraphs = " + paraCount); System.out.println( "Total number of whitespaces = " + whiteSpaceCount); } } |
Файл TextReader.txt содержит следующие данные:
Hello Geeks. My name is Nishkarsh Gandhi. GeeksforGeeks is a Computer Science portal for geeks.
Выход:
Note: This program would not run on online compilers. Please make a txt file on your system and give its path to run this program on your system.
Эта статья предоставлена Mayank Kumar . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы можете написать статью с помощью write.geeksforgeeks.org или отправить ее по адресу review-team@geeksforgeeks.org. Посмотрите, как ваша статья появится на главной странице GeeksforGeeks, и помогите другим гикам. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или хотите поделиться дополнительной информацией по теме, обсуждаемой выше.