Programa Java para contar el número de líneas, palabras, caracteres y párrafos en un archivo de texto

Contar la cantidad de caracteres es esencial porque casi todos los cuadros de texto que dependen de la entrada del usuario tienen ciertas limitaciones en la cantidad de caracteres insertados. Por ejemplo, el límite de caracteres en una publicación de Facebook es de 63206 caracteres. Mientras que para un tweet en Twitter, el límite de caracteres es de 140 caracteres y el límite de caracteres es de 80 por publicación para Snapchat.

Determinar los límites de caracteres se vuelve crucial cuando las actualizaciones de tweets y publicaciones de Facebook se realizan a través de API. 

Funciones incorporadas utilizadas 

1. Archivo (string de nombre de ruta):

Esta función está presente en el paquete java.io.File . Crea una nueva instancia de archivo al convertir la string de nombre de ruta dada en un nombre de ruta abstracto. 

Sintaxis: 

public File(String pathname)

Parámetros:

pathname - A pathname string

2. FileInputStream (archivo de archivo):

Esta función está presente en el paquete java.io.FileInputStream . Crea un FileInputStream al abrir una conexión a un archivo real nombrado por el archivo del objeto File en el sistema de archivos. 

Sintaxis: 

public FileInputStream(File file) throws FileNotFoundException

Parámetros:

file - the file to be opened for reading.

Lanza:

  • FileNotFoundException: si el archivo no existe, es un directorio en lugar de un archivo normal o, por alguna otra razón, no se puede abrir para leer.
  • SecurityException: si existe un administrador de seguridad y su método checkRead deniega el acceso de lectura al archivo.

3. Lector de flujo de entrada (entrada de flujo de entrada):

Esta función está presente en el paquete java.io.InputStreamReader . Crea un InputStreamReader que usa el conjunto de caracteres predeterminado. 

Sintaxis: 

public InputStreamReader(InputStream in)

Parámetros:

in - An InputStream

4. BufferedReader (Lector en):

Esta función está presente en el paquete java.io.BufferedReader . Crea un flujo de entrada de caracteres de almacenamiento en búfer que utiliza un búfer de entrada de tamaño predeterminado. 

Sintaxis: 

public BufferedReader(Reader in)

Parámetros:

in - A Reader

Ejemplo:

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);
    }
}

El archivo TextReader.txt contiene los siguientes datos: 

Hello Geeks. My name is Nishkarsh Gandhi.
GeeksforGeeks is a Computer Science portal for geeks.

Producción:

Nota: este programa no se ejecutaría en compiladores en línea. Cree un archivo txt en su sistema y proporcione su ruta para ejecutar este programa en su sistema. 

Este artículo es una contribución de Mayank Kumar . Si te gusta GeeksforGeeks y te gustaría contribuir, puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *