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-klasse

Java BufferedWriter-klasse

In deze zelfstudie leren we over Java BufferedWriter en zijn methoden aan de hand van voorbeelden.

De BufferedWriter klasse van de java.io pakket kan worden gebruikt met andere schrijvers om gegevens (in tekens) efficiënter te schrijven.

Het breidt de abstracte klasse Writer uit .


Werking van BufferedWriter

De BufferedWriter onderhoudt een interne buffer van 8192 tekens .

Tijdens de schrijfbewerking worden de tekens naar de interne buffer geschreven in plaats van naar de schijf. Zodra de buffer is gevuld of de schrijver is gesloten, worden alle tekens in de buffer naar de schijf geschreven.

Daarom wordt het aantal communicatie naar de schijf verminderd. Dit is de reden waarom het schrijven van karakters sneller gaat met BufferedWriter .


Maak een BufferedWriter

Om een ​​BufferedWriter . te maken , moeten we de java.io.BufferedWriter . importeren pakket eerst. Nadat we het pakket hier hebben geïmporteerd, kunnen we de gebufferde schrijver maken.

// Creates a FileWriter
FileWriter file = new FileWriter(String name);

// Creates a BufferedWriter
BufferedWriter buffer = new BufferedWriter(file);

In het bovenstaande voorbeeld hebben we een BufferedWriter . gemaakt genaamd buffer met de FileWriter genaamd bestand .

Hier, de interne buffer van de BufferedWriter heeft de standaardgrootte van 8192 tekens. We kunnen echter ook de grootte van de interne buffer specificeren.

// Creates a BufferedWriter with specified size internal buffer
BufferedWriter buffer = new BufferedWriter(file, int size);

De buffer helpt om tekens efficiënter naar de bestanden te schrijven.


Methoden van BufferedWriter

De BufferedWriter class biedt implementaties voor verschillende methoden die aanwezig zijn in Writer .

write()-methode

  • write() - schrijft een enkel teken naar de interne buffer van de schrijver
  • write(char[] array) - schrijft de karakters van de opgegeven array naar de schrijver
  • write(String data) - schrijft de opgegeven string naar de schrijver

Voorbeeld:BufferedWriter om gegevens naar een bestand te schrijven

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

public class Main {

  public static void main(String args[]) {

    String data = "This is the data in the output file";

    try {
      // Creates a FileWriter
      FileWriter file = new FileWriter("output.txt");

      // Creates a BufferedWriter
      BufferedWriter output = new BufferedWriter(file);

      // Writes the string to the file
      output.write(data);

      // Closes the writer
      output.close();
    }

    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

In het bovenstaande voorbeeld hebben we een gebufferde schrijver gemaakt met de naam output samen met FileWriter . De gebufferde schrijver is gekoppeld aan de output.txt bestand.

FileWriter file = new FileWriter("output.txt");
BufferedWriter output = new BufferedWriter(file);

Om gegevens naar het bestand te schrijven, hebben we de write() . gebruikt methode.

Hier wanneer we het programma uitvoeren, de output.txt bestand is gevuld met de volgende inhoud.

This is a line of text inside the file.

flush()-methode

Om de interne buffer te wissen, kunnen we de flush() . gebruiken methode. Deze methode dwingt de schrijver om alle gegevens in de buffer naar het doelbestand te schrijven.

Stel dat we bijvoorbeeld een leeg bestand hebben met de naam output.txt .

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

public class Main {
  public static void main(String[] args) {

    String data = "This is a demo of the flush method";

    try {
      // Creates a FileWriter
      FileWriter file = new FileWriter(" flush.txt");

      // Creates a BufferedWriter
      BufferedWriter output = new BufferedWriter(file);

      // Writes data to the file
      output.write(data);

      // Flushes data to the destination
      output.flush();
      System.out.println("Data is flushed to the file.");

      output.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Uitvoer

Data is flushed to the file.

Wanneer we het programma uitvoeren, wordt het bestand output.txt is gevuld met de tekst die wordt weergegeven door de tekenreeks data .


close()-methode

Om de gebufferde schrijver te sluiten, kunnen we de close() . gebruiken methode. Zodra de close() methode wordt aangeroepen, kunnen we de schrijver niet gebruiken om de gegevens te schrijven.


Andere methoden van BufferedWriter

Methode Beschrijving
newLine() voegt een nieuwe regel in bij de schrijver
append() voegt het opgegeven teken in bij de huidige schrijver

Ga voor meer informatie naar Java BufferedWriter (officiële Java-documentatie).


Java

  1. Java laatste trefwoord
  2. Java-instantie van Operator
  3. Java-erfenis
  4. Java geneste statische klasse
  5. Java anonieme klasse
  6. Java Singleton-klasse
  7. Java-reflectie
  8. Java ObjectOutputStream-klasse
  9. Java BufferedReader-klasse
  10. Java-generieken
  11. Java-bestandsklasse