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 BufferedReader: Efficiënte karakter-stream-afhandeling

Java BufferedReader-klasse

Ontdek hoe de BufferedReader-klasse I/O-prestaties in Java verbetert met praktische voorbeelden en diepgaande methode-uitleg.

De BufferedReader-klasse, onderdeel van het java.io-pakket, wrapt een andere Reader om efficiënte karakterminput te bieden. Door stukken data in een interne buffer te lezen, minimaliseert het dure schijf-I/O-operaties.

Hoe BufferedReader werkt

Intern onderhoudt BufferedReader een buffer van 8.192 karakters (standaardgrootte). Tijdens een leesoperatie wordt een blok karakters uit het bronbestand opgehaald en in deze buffer opgeslagen. Volgende reads halen dan karakters één voor één uit de buffer, wat het aantal schijftoegangen drastisch vermindert en I/O versnelt.

Een BufferedReader aanmaken

Om BufferedReader te gebruiken, importeer het uit java.io en wrap een andere Reader-implementatie, zoals FileReader:

import java.io.FileReader;
import java.io.BufferedReader;

FileReader bestand = new FileReader("voorbeeld.txt");
BufferedReader reader = new BufferedReader(bestand);

Je kunt ook een aangepaste buffergrootte opgeven:

BufferedReader reader = new BufferedReader(bestand, 16384); // 16KB buffer

Kernmethoden van BufferedReader

read()

  • int read() – leest een enkel karakter uit de buffer
  • int read(char[] cbuf) – leest karakters in de meegeleverde array
  • int read(char[] cbuf, int off, int len) – leest maximaal len karakters in de array beginnend bij offset off

Voorbeeld: De volledige inhoud van input.txt inlezen in een karakterarray:

import java.io.FileReader;
import java.io.BufferedReader;

class Main {
    public static void main(String[] args) {
        char[] buffer = new char[100];
        try (FileReader bestand = new FileReader("input.txt");
             BufferedReader reader = new BufferedReader(bestand)) {
            reader.read(buffer);
            System.out.println("Data in het bestand:\n" + new String(buffer));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Output

Data in het bestand: Dit is een regel tekst in het bestand.

skip()

De skip(long n)-methode gooit de volgende n karakters uit de stream weg:

reader.skip(5); // slaat "Dit " over

Na overslaan, levert het lezen van de overgebleven inhoud:

Data na overslaan van 5 karakters: is een regel tekst in het bestand.

close()

Sluit de reader altijd om systeembronnen vrij te geven:

reader.close();

Overige nuttige methoden

MethodeBeschrijving
ready()Controleert of de stream klaar is om te lezen zonder te blokkeren
mark(int readAheadLimit)Markeert de huidige positie in de stream
reset()Zet de stream terug naar de meest recente markering

Voor een complete referentie, bezoek de officiële Java-documentatie.

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 ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
  9. Java Generics: Herbruikbare, type-veilige code bouwen
  10. Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen
  11. Bestanden Lezen in Java met BufferedReader – Een Praktische Gids met Voorbeelden