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

教程基础Java

Java Controllo dei flussi

Java Array

Java Orientato agli oggetti (I)

Java Orientato agli oggetti (II)

Java Orientato agli oggetti (III)

Gestione delle eccezioni Java

Java List

Java Queue (coda)

Java Map collection

Java Set collection

Java Input/Output (I/O)

Java Reader/Writer

Altri argomenti Java

Classe Java Reader

In questo tutorial, esploreremo attraverso un esempio il Reader Java, le sue sottoclassi e i suoi metodi.

La classe Reader del pacchetto java.io è una superclasse astratta che rappresenta lo stream di caratteri.

Poiché Reader è una classe astratta, non ha un'azione da sola. Ma le sue sottoclassi possono essere utilizzate per leggere dati.

Sottoclassi di Reader

Per utilizzare le funzioni di Reader, possiamo utilizzare le sue sottoclassi. Tra queste ci sono alcune:

Nel prossimo tutorial, impareremo tutte queste sottoclassi.

Creare Reader

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

// 创建 Reader
Reader input = new FileReader();

In questo caso, abbiamo creato un Reader utilizzando la classe FileReader. Questo è perché Reader è una classe astratta. Pertanto, non possiamo creare un oggetto Reader.

Attenzione: Possiamo anche creare Reader da altri sottoclasse di Reader.

Metodi

Metodi del Reader

  • ready() - Controlla se il Reader è pronto per leggere

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

  • read(char[] array, int start, int length)- Legge un numero specificato di caratteri dal flusso e li memorizza nell'array specificato, iniziando dal punto di partenza

  • mark() - Marca la posizione dei dati letti nel flusso

  • reset() - Riporta il flusso alla posizione iniziale. Se il flusso è stato marcato, allora cerca di marcare di nuovo per riposizionare. Se il flusso non è stato marcato, allora cerca di riportarlo alla posizione appropriata in alcuni metodi specifici del flusso, come riportarlo all'inizio.

  • skip() - Scarta un numero specificato di caratteri dal flusso

Esempio: Utilizzo di FileReader come Reader

Ecco come possiamo implementare i metodi di Reader utilizzando la classe FileReader.

Supponiamo di avere un file chiamatoinput.txtcontenente il seguente contenuto.

This is a line of text inside the file.

Lasciamo che proviamo a leggere questo file utilizzando FileReader (sottoclasse di Reader).

import java.io.Reader;
import java.io.FileReader;
class Main {
    public static void main(String[] args) {
        // 创建一个字符数组
        char[] array = new char[100];
        try {
            //使用FileReader创建Reader
            Reader input = new FileReader("input.txt");
            //检查Reader是否准备就绪 
            System.out.println("流中有数据吗?  " + input.ready());
            //读取字符
            input.read(array);
            System.out.println("流中的数据:");
            System.out.println(array);
            // Chiudi reader
            input.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

Risultato di output

Ci sono dati nel flusso? true
Dati nel flusso:
This is a line of text inside the file.

Nell'esempio sopra, abbiamo creato un lettore utilizzando la classe FileReader. Reader è un fileinput.txtcollegamento.

Reader input = new FileReader("input.txt");

Per leggere dainput.txtAbbiamo implementato questi metodi per la lettura di file.

input.read(); // Leggi dati dal reader
input.close(); // Chiudi reader