Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java FileInputStream-Klasse

Java FileInputStream-Klasse

In diesem Tutorial lernen wir Java FileInputStream und seine Methoden anhand von Beispielen kennen.

Der FileInputStream Klasse der java.io Paket kann verwendet werden, um Daten (in Bytes) aus Dateien zu lesen.

Es erweitert die InputStream abstrakte Klasse.

Bevor wir etwas über FileInputStream erfahren , informieren Sie sich unbedingt über Java-Dateien.


Einen FileInputStream erstellen

Um einen Dateieingabestream zu erstellen, müssen wir den java.io.FileInputStream importieren Paket zuerst. Sobald wir das Paket importiert haben, können wir wie folgt einen Dateieingabestrom in Java erstellen.

1. Verwenden des Pfads zur Datei

FileInputStream input = new FileInputStream(stringPath);

Hier haben wir einen Eingabestrom erstellt, der mit der durch den Pfad angegebenen Datei verknüpft wird .

2. Verwendung eines Objekts der Datei

FileInputStream input = new FileInputStream(File fileObject);

Hier haben wir einen Eingabestrom erstellt, der mit der durch fileObject angegebenen Datei verknüpft wird .


Methoden von FileInputStream

Die FileInputStream -Klasse bietet Implementierungen für verschiedene Methoden, die in InputStream vorhanden sind Klasse.

read()-Methode

Angenommen, wir haben eine Datei namens input.txt mit folgendem Inhalt.

This is a line of text inside the file.

Versuchen wir, diese Datei mit FileInputStream zu lesen .

import java.io.FileInputStream;

public class Main {

  public static void main(String args[]) {

     try {
        FileInputStream input = new FileInputStream("input.txt");

        System.out.println("Data in the file: ");

        // Reads the first byte
        int i = input.read();

       while(i != -1) {
           System.out.print((char)i);

           // Reads next byte from the file
           i = input.read();
        }
        input.close();
     }

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

Ausgabe

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

Im obigen Beispiel haben wir einen Dateieingabestrom namens input erstellt . Der Eingabestrom wird mit der input.txt verknüpft Datei.

FileInputStream input = new FileInputStream("input.txt");

Um Daten aus der Datei auszulesen, haben wir den read() verwendet Methode innerhalb der While-Schleife.


available()-Methode

Um die Anzahl der verfügbaren Bytes zu erhalten, können wir den available() verwenden Methode. Zum Beispiel

import java.io.FileInputStream;

public class Main {

   public static void main(String args[]) {

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

         // Returns the number of available bytes
         System.out.println("Available bytes at the beginning: " + input.available());

         // Reads 3 bytes from the file
         input.read();
         input.read();
         input.read();

         // Returns the number of available bytes
         System.out.println("Available bytes at the end: " + input.available());

         input.close();
      }

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

Ausgabe

Available bytes at the beginning: 39
Available bytes at the end: 36

Im obigen Beispiel

  1. Wir verwenden zuerst den available() Methode, um die Anzahl der verfügbaren Bytes im Dateieingabestrom zu prüfen.
  2. Wir haben dann den read() verwendet Methode dreimal, um 3 Bytes aus dem Dateieingabestrom zu lesen.
  3. Nun, nach dem Lesen der Bytes haben wir noch einmal die verfügbaren Bytes überprüft. Diesmal verringerten sich die verfügbaren Bytes um 3.

skip()-Methode

Um die angegebene Anzahl von Bytes zu verwerfen und zu überspringen, können wir den skip() verwenden Methode. Zum Beispiel

import java.io.FileInputStream;

public class Main {

   public static void main(String args[]) {

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

         // Skips the 5 bytes
         input.skip(5);
         System.out.println("Input stream after skipping 5 bytes:");

         // Reads the first byte
         int i = input.read();
         while (i != -1) {
            System.out.print((char) i);

            // Reads next byte from the file
            i = input.read();
         }

         // close() method
         input.close();
      }
      catch (Exception e) {
         e.getStackTrace();
      }
   }
}

Ausgabe

Input Stream after skipping 5 bytes:
is a line of text inside the file.

Im obigen Beispiel haben wir den skip() verwendet Methode zum Überspringen von 5 Datenbytes aus dem Dateieingabestream. Daher repräsentieren die Bytes den Text "This" wird nicht aus dem Eingabestrom gelesen.


close()-Methode

Um den Dateieingabestrom zu schließen, können wir den close() verwenden Methode. Einmal die close() -Methode aufgerufen wird, können wir den Eingabestrom nicht zum Lesen von Daten verwenden.

In allen obigen Beispielen haben wir den close() verwendet Methode zum Schließen des Dateieingabestreams.


Andere Methoden von FileInputStream

Methoden Beschreibungen
finalize() stellt sicher, dass der close() Methode heißt
getChannel() gibt das Objekt von FileChannel zurück dem Eingabestrom zugeordnet
getFD() gibt den mit dem Eingabestrom verknüpften Dateideskriptor zurück
mark() Markieren Sie die Position im Eingabestrom, bis zu der Daten gelesen wurden
reset() gibt die Kontrolle an den Punkt im Eingabestrom zurück, an dem die Markierung gesetzt wurde

Um mehr zu erfahren, besuchen Sie Java FileInputStream (offizielle Java-Dokumentation).


Java

  1. Letztes Java-Schlüsselwort
  2. Java-Instanz des Operators
  3. Verschachtelte statische Java-Klasse
  4. Anonyme Java-Klasse
  5. Java-Singleton-Klasse
  6. Java-Reflexion
  7. Java ObjectOutputStream-Klasse
  8. Java BufferedReader-Klasse
  9. Java-Scanner-Klasse
  10. Java-Generika