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

Java BufferedReader-klasse

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

De BufferedReader klasse van de java.io pakket kan worden gebruikt met andere lezers om gegevens (in tekens) efficiënter te lezen.

Het breidt de abstracte klasse Reader uit .

" "


Werking van BufferedReader

De BufferedReader onderhoudt een interne buffer van 8192 tekens .

Tijdens de leesbewerking in BufferedReader , wordt een stuk tekens van de schijf gelezen en opgeslagen in de interne buffer. En uit de interne buffer worden karakters afzonderlijk gelezen.

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


Maak een BufferedReader

Om een ​​BufferedReader . te maken , moeten we de java.io.BuferedReader . importeren pakket eerst. Zodra we het pakket hebben geïmporteerd, kunnen we de lezer als volgt maken.

// Creates a FileReader
FileReader file = new FileReader(String file);

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

In het bovenstaande voorbeeld hebben we een BufferedReader . gemaakt genaamd buffer met de FileReader genaamd bestand .

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

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

De buffer helpt om tekens uit de bestanden sneller te lezen.


Methoden van BufferedReader

De BufferedReader class biedt implementaties voor verschillende methoden die aanwezig zijn in Reader .

read()-methode

  • read() - leest een enkel karakter uit de interne buffer van de lezer
  • read(char[] array) - leest de tekens uit de lezer en slaat ze op in de opgegeven array
  • read(char[] array, int start, int length) - leest het aantal tekens gelijk aan lengte van de lezer en slaat op in de opgegeven array vanaf de positie start

Stel dat we bijvoorbeeld een bestand hebben met de naam input.txt met de volgende inhoud.

This is a line of text inside the file.

Laten we proberen het bestand te lezen met BufferedReader .

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

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

    // Creates an array of character
    char[] array = new char[100];

    try {
      // Creates a FileReader
      FileReader file = new FileReader("input.txt");

      // Creates a BufferedReader
      BufferedReader input = new BufferedReader(file);

      // Reads characters
      input.read(array);
      System.out.println("Data in the file: ");
      System.out.println(array);

      // Closes the reader
      input.close();
    }

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

Uitvoer

Data in the file:
This is a line of text inside the file.

In het bovenstaande voorbeeld hebben we een gebufferde lezer gemaakt met de naam input . De gebufferde lezer is gekoppeld aan de input.txt bestand.

FileReader file = new FileReader("input.txt");
BufferedReader input = new BufferedReader(file);

Hier hebben we de read() . gebruikt methode om een ​​reeks tekens uit de interne buffer van de gebufferde lezer te lezen.


skip()-methode

Om het opgegeven aantal tekens te negeren en over te slaan, kunnen we de skip() . gebruiken methode. Bijvoorbeeld,

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

public class Main {

  public static void main(String args[]) {

    // Creates an array of characters
    char[] array = new char[100];

    try {
      // Suppose, the input.txt file contains the following text
      // This is a line of text inside the file.
      FileReader file = new FileReader("input.txt");

      // Creates a BufferedReader
      BufferedReader input = new BufferedReader(file);

      // Skips the 5 characters
      input.skip(5);

      // Reads the characters
      input.read(array);

      System.out.println("Data after skipping 5 characters:");
      System.out.println(array);

      // closes the reader
      input.close();
    }

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

Uitvoer

Data after skipping 5 characters:
is a line of text inside the file.

In het bovenstaande voorbeeld hebben we de skip() . gebruikt methode om 5 tekens uit de bestandslezer over te slaan. Vandaar dat de tekens 'T' , 'h' , 'i' , 's' en ' ' worden overgeslagen uit het originele bestand.


close()-methode

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


Andere methoden van BufferedReader

Methode Beschrijving
ready() controleert of de bestandslezer klaar is om gelezen te worden
mark() markeer de positie in de lezer tot waar de gegevens zijn gelezen
reset() geeft de besturing terug naar het punt in de lezer waar de markering is geplaatst

Ga voor meer informatie naar Java BufferedReader (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-generieken
  10. Java-bestandsklasse
  11. Java BufferedReader:hoe een bestand in Java te lezen met voorbeeld