Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java Reader-klasse: Subklassen, methoden en praktisch voorbeeld

Java Reader-klasse

Deze gids begeleidt je door Java's Reader-klasse, de kernsubklassen, essentiële methoden en een stapsgewijs voorbeeld met FileReader.

Wat is de Reader-klasse?

De Reader-klasse in het java.io-pakket is een abstracte superklasse die een karakter-input-stream vertegenwoordigt. Hoewel het niet direct geïnstantieerd kan worden, bieden de concrete subklassen de functionaliteit om tekstdata uit verschillende bronnen te lezen.

Veelvoorkomende subklassen van Reader

  • BufferedReader – Voegt buffering toe voor efficiënt lezen van karakters, arrays en regels
  • InputStreamReader – Brugt byte-streams naar karakter-streams met een gespecificeerd charset
  • FileReader – Gemaksklasse voor het lezen van bestanden gecodeerd in het standaard-charset
  • StringReader – Leest karakters uit een string als een stream

Een Reader instantiëren

Om een concrete reader aan te maken, importeer java.io.Reader en een van de subklassen. Bijvoorbeeld met FileReader:

import java.io.Reader;
import java.io.FileReader;
Reader input = new FileReader("input.txt");

Omdat Reader abstract is, moet je een subklasse gebruiken; anders ontstaat een compileerfout.

Tip: Je kunt elke andere subklasse op dezelfde manier instantiëren.

Kernmethoden van Reader

  • boolean ready() – Retourneert true als de stream klaar is om te lezen zonder te blokkeren
  • int read(char[] cbuf) – Leest karakters in een array en retourneert het aantal gelezen
  • int read(char[] cbuf, int off, int len) – Leest maximaal len karakters in cbuf beginnend bij off
  • void mark(int readAheadLimit) – Markeert de huidige positie in de stream
  • void reset() – Herpositioneert de stream naar de laatste gemarkeerde positie
  • long skip(long n) – Slaat n karakters over en gooit ze weg

Voorbeeld: Een bestand lezen met FileReader

Stel we hebben een bestand input.txt met de inhoud:

Dit is een regel tekst in het bestand.

Hieronder een compleet, productie-klaar voorbeeld dat het bestand leest en de inhoud print:

import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class Main {
    public static void main(String[] args) {
        // Alloceer een buffer groot genoeg voor de verwachte inhoud
        char[] buffer = new char[100];
        // Gebruik try-with-resources om de reader automatisch te sluiten
        try (Reader reader = new FileReader("input.txt")) {
            System.out.println("Zit er data in de stream? " + reader.ready());
            int karaktersGelezen = reader.read(buffer);
            System.out.println("Data in de stream:\n" + new String(buffer, 0, karaktersGelezen));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Output

Zit er data in de stream? true
Data in de stream:
Dit is een regel tekst in het bestand.

Belangrijkste punten:

  • Sluit de reader altijd – try-with-resources doet dit automatisch
  • Gebruik ready() om te verifiëren dat data beschikbaar is voordat je probeert te lezen
  • Behandel IOException voor bestand-niet-gevonden of leesfout-scenario's

Voor meer gedetailleerde documentatie, bezoek de officiële Java Reader Javadoc.

Java

  1. Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
  2. Java instanceof operator: een uitgebreide gids
  3. Java-erfenis meesteren: concepten, typen en praktische voorbeelden
  4. Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
  5. Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
  6. Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
  7. Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
  8. Java ArrayList meesteren: operaties, methoden en best practices
  9. Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
  10. Java Generics: Herbruikbare, type-veilige code bouwen
  11. Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen