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 BufferedWriter: Efficiënte karakter-I/O uitgelegd

Java BufferedWriter

Deze gids legt de Java BufferedWriter-klasse uit, de interne buffering, kernmethoden en praktische codevoorbeelden.

Inleiding

De BufferedWriter-klasse in het java.io-pakket wrapt een andere Writer om efficiënte karaktermoutput te bieden. Door data in het geheugen te bufferen, vermindert het dure schijf-I/O-operaties.

Hoe BufferedWriter werkt

De klasse onderhoudt een interne buffer van 8.192 karakters (standaardgrootte). Wanneer je data schrijft, worden karakters eerst in deze buffer opgeslagen. Zodra de buffer vol is of de writer gesloten wordt, worden de inhoud naar de onderliggende stream geflusht.

Deze strategie minimaliseert het aantal schijfschrijfacties, wat karaktermoutput aanzienlijk versnelt.

Een BufferedWriter aanmaken

Importeer de klasse en creëer een BufferedWriter door een FileWriter (of elke andere Writer) te wrappen:

FileWriter bestand = new FileWriter("output.txt");
BufferedWriter buffer = new BufferedWriter(bestand);

De buffer is standaard 8.192 karakters, maar je kunt een aangepaste grootte opgeven:

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

BufferedWriter-methoden

write()

  • write(int c) – schrijft een enkel karakter
  • write(char[] cbuf) – schrijft een array karakters
  • write(String str) – schrijft een string

Voorbeeld: Naar een bestand schrijven

import java.io.FileWriter;
import java.io.BufferedWriter;

public class Main {
    public static void main(String[] args) {
        String data = "Dit is de data in het outputbestand";
        try {
            FileWriter bestand = new FileWriter("output.txt");
            BufferedWriter out = new BufferedWriter(bestand);
            out.write(data);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Het resulterende output.txt bevat de gespecificeerde string.

flush()

Dwingt de gebufferde data om direct naar de onderliggende stream geschreven te worden.

out.flush(); // schrijft gebufferde karakters naar het bestand

close()

Sluit de writer en geeft systeembronnen vrij. Na close() kan de writer niet meer gebruikt worden.

Overige nuttige methoden

MethodeBeschrijving
newLine()Voegt de platform-specifieke regelscheiding in
append(char c)Voegt een enkel karakter toe
append(CharSequence csq)Voegt een karaktermreeks toe

Voor de complete API, raadpleeg de officiële Java BufferedWriter-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 BufferedReader: Efficiënte karakter-stream-afhandeling
  10. Java Generics: Herbruikbare, type-veilige code bouwen
  11. Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen