English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
Per utilizzare le funzioni di Reader, possiamo utilizzare le sue sottoclassi. Tra queste ci sono alcune:
Nel prossimo tutorial, impareremo tutte queste sottoclassi.
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 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
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