Программа Java для подсчета количества строк, слов, символов и абзацев в текстовом файле

Опубликовано: 15 Сентября, 2022

Подсчет количества символов важен, потому что почти все текстовые поля, которые зависят от пользовательского ввода, имеют определенные ограничения на количество вставляемых символов. Например, ограничение на количество символов в сообщении 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, и помогите другим гикам. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или хотите поделиться дополнительной информацией по теме, обсуждаемой выше.