English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di Base Java

Controllo di流程 Java

Array Java

Java orientato agli oggetti (I)

Java orientato agli oggetti (II)

Java orientato agli oggetti (III)

Gestione delle Eccezioni Java

Elenco Java (List)

Coda Java (Queue)

Mappa Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Classe BufferedReader Java

In questo tutorial, impareremo tramite esempi Java BufferedReader e i suoi metodi.

La classe BufferedReader del pacchetto java.io può essere utilizzata insieme ad altri lettori per leggere i dati più efficacemente (in termini di caratteri).

Eredita l'astratto classe Reader.

Il funzionamento di BufferedReader

BufferedReader mantiene un buffer internobuffer di 8192 caratteri

Durante l'operazione di lettura nel BufferedReader, parte dei caratteri viene letti dal disco e memorizzati nel buffer interno. E si legge ciascun carattere dal buffer interno.

Quindi, riduce il numero di comunicazioni con il disco. Questo è il motivo per cui l'uso di BufferedReader può leggere i caratteri più rapidamente.

Crea un BufferedReader

Per creare un BufferedReader, dobbiamo prima importare il pacchetto java.io.BufferedReader. Dopo aver importato il pacchetto, possiamo creare il lettore.

//Crea un FileReader
//Crea un FileReader
//Crea un BufferedReader
BufferedReader buffer = new BufferedReader(file);

Nell'esempio precedente, abbiamo creato un BufferedReader chiamato buffer e un FileReader chiamato file.

In questo caso, la dimensione predefinita del buffer interno di BufferedReader è di 8192 caratteri. Ma possiamo anche specificare la dimensione del buffer interno.

//Crea un BufferedReader con un buffer interno di dimensione specificata
BufferedReader buffer = new BufferedReader(file, int size);

Il buffer aiuta a leggere più rapidamente i caratteri dai file.

Metodi di BufferedReader

La classe BufferedReader fornisce implementazioni per diversi metodi di Reader.

Metodo read()

  • read() - Legge un singolo carattere dal buffer del lettore

  • read(char[] array) - Legge i caratteri dal lettore e li memorizza nell'array specificato

  • read(char[] array, int start, int length) - Legge una quantità di caratteri uguale a length e li memorizza dall'indirizzo start nell'array specificato

Ad esempio, supponiamo di avere un file chiamatoinput.txtcontenente il seguente contenuto.

Questa è una riga di testo all'interno del file.

Proviamo a leggere il file usando BufferedReader.

import java.io.FileReader;
import java.io.BufferedReader;
class Main {
  public static void main(String[] args) {
    //Crea un array di caratteri
    char[] array = new char[100];
    try {
      //Crea FileReader
      FileReader file = new FileReader("input.txt");
      //Crea un BufferedReader
      BufferedReader input = new BufferedReader(file);
      //Leggi il carattere
      input.read(array);
      System.out.println("Dati del file: ");
      System.out.println(array);
      //Chiudi reader
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Risultato di output

Dati del file:
Questa è una riga di testo all'interno del file.

Nell'esempio sopra, abbiamo creato un lettore di buffer chiamato input. Il lettore di buffer è associato ainput.txtCollegamento del file.

FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);

In questo caso, usiamo il metodo read() per leggere un array di caratteri dal buffer del lettore.

Metodo skip()

Per scartare e saltare una quantità specificata di caratteri, puoi usare il metodo skip(). Ad esempio

import java.io.FileReader;
import java.io.BufferedReader;
public class Main {
  public static void main(String args[]) {
    //Crea un array di caratteri
    char[] array = new char[100];
    try {
      //Supponiamo che il file input.txt contenga il seguente testo
      //Questa è una riga di testo all'interno del file.
      FileReader file = new FileReader("input.txt");
      //Crea un BufferedReader
      BufferedReader input = new BufferedReader(file);
      //Salta 5 caratteri
      input.skip(5);
      //Leggi il carattere
      input.read(array);
      System.out.println("Dati dopo aver saltato 5 caratteri:");
      System.out.println(array);
      //Chiudi reader
      input.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Risultato di output

Dati dopo aver saltato 5 caratteri:
è una riga di testo all'interno del file.

Nell'esempio sopra, abbiamo utilizzato il metodo skip() per saltare 5 caratteri dal lettore di file. Pertanto, i caratteri 'T', 'h', 'i', 's' e ' ' sono saltati dal file originale.

Metodo close()

Per chiudere il lettore bufferizzato, possiamo utilizzare il metodo close(). Dopo aver chiamato il metodo close(), non possiamo più utilizzare il lettore per leggere i dati.

Altri metodi di BufferedReader

MetodoDescrizione
ready()Verifica se il lettore di file è pronto per la lettura
mark()Posizione dei dati letti del lettore di marchi
reset()Ripristina il segno di posizione, torna alla posizione impostata del lettore