Heim > Java > javaLernprogramm > Tipps zur Verwendung von Java Streams für die Dateieingabe/-ausgabe

Tipps zur Verwendung von Java Streams für die Dateieingabe/-ausgabe

PHPz
Freigeben: 2024-07-21 15:06:38
Original
935 Leute haben es durchsucht

Was ist Java Input/Output?

Java Input/Output (I/O) wird verwendet, um Eingaben zu verarbeiten und Ausgaben in Form von Dateien zu generieren. Java verwendet das Konzept von Streams, das schnelle I/O-Vorgänge ermöglicht.
Mit dem java.io-Paket können alle Ein- und Ausgabevorgänge problemlos durchgeführt werden.

Verarbeiten von Dateien in Java mithilfe der Eingabe/Ausgabe

Streams

Streams können als eine aus Bytes bestehende Datensequenz definiert werden. Es wird Bach genannt, weil es wie ein Wasserstrom ist, der weiter fließt. Es gibt zwei Arten von Streams:

Eingabestream: Wird zum Lesen von Daten aus einer Quelle verwendet. Dies kann eine Datei, ein Array, ein Peripheriegerät oder ein Socket sein.
Ausgabestream: Wird zum Schreiben von Daten an ein Ziel verwendet. Dies kann eine Datei, ein Array, ein Peripheriegerät oder ein Socket sein.
Der Ablauf für einen Eingabestream ist unten dargestellt:

Image description

Byte zum Streamen

Java-Byte-Streams werden für die Ein- und Ausgabe von 8-Bit-Bytes verwendet. Es folgt ein Beispiel, das diese beiden Klassen nutzt, um eine Eingabedatei in eine Ausgabedatei zu kopieren −

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class LearnStream {
    public static void main(String[] args) throws IOException {

       var directory = "D://sample/stream/";
       var fileInput = new FileInputStream(directory+"input.txt");
       var fileOutput = new FileOutputStream(directory+"output.txt");

       try{
           int i;
           while((i= fileInput.read())!=-1){
               fileOutput.write(i);
           }
       } catch (IOException e) {
           throw new RuntimeException(e);
       }

    }

}

Nach dem Login kopieren

Jetzt erstellen wir eine Datei input.txt mit folgendem Inhalt

Dimas Priyandi
Software Developer
Java
Angular 
Spring Boot
Nach dem Login kopieren
Nach dem Login kopieren

Programm ausführen und wir erhalten eine Datei mit dem Namen „output.txt“ und folgendem Inhalt

Dimas Priyandi
Software Developer
Java
Angular 
Spring Boot
Nach dem Login kopieren
Nach dem Login kopieren

Beispiel

Um Dateieingabeströme und Dateiausgabeströme besser zu verstehen, erstellen wir ein neues Beispiel, in dem wir eine Eingabedatei mit dem Namen count.txt haben.

Der Inhalt von count.txt lautet wie folgt:

100
90
80
70
60
50
40
30
20
10
0
Nach dem Login kopieren

Wenn der File Input Stream die numerischen Daten aus der Datei count.txt liest, speichern wir sie in einem Array und führen dann eine Summationsoperation durch, um die Gesamtsumme der Daten zu berechnen. Bitte befolgen Sie den folgenden Programmcode:

import java.io.*;

public class LeanCount {
    public static void main(String[] args) throws FileNotFoundException {
        var directory = "D://sample/stream/";
        var fileInput = new FileInputStream(directory+"count.txt");
        var fileOutput = new FileOutputStream(directory+"sum.txt");
        Integer sum = 0;
        try{
            var reader = new BufferedReader(new InputStreamReader(fileInput));
            var outputWriter = new BufferedWriter(new OutputStreamWriter(fileOutput));
            String line;
            while((line=reader.readLine()) !=null){
                sum+=Integer.parseInt(line);
            }
            reader.close();
            outputWriter.write(sum.toString());
            outputWriter.close();


        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }

    }



Nach dem Login kopieren

Ausgabe:

  • Wir können sehen, dass die Ausgabe von sum.txt lautet:
550
Nach dem Login kopieren

Erklärung:

  • FileInputStream: Wird zum Lesen von Bytes aus der Datei count.txt verwendet.
  • InputStreamReader: Konvertiert die von FileInputStream gelesenen Bytes in Zeichen.
  • BufferedReader: Stellt die Methode readLine() bereit, um die Datei Zeile für Zeile zu lesen.
  • Zahlen-Array: Ein ganzzahliges Array zum Speichern der aus der Datei gelesenen Zahlen.
  • Summenberechnung: Eine Schleife zum Summieren aller im Array gespeicherten Zahlen.
  • FileOutputStream: Wird verwendet, um Bytes in die Datei zu schreiben.
  • OutputStreamWriter: Konvertiert den Zeichenstrom in einen Bytestrom.
  • BufferedWriter: Bietet Pufferung zum effizienten Schreiben von Zeichen, Arrays und Zeilen.

Zusammenfassung

Die I/O-Streams von Java bieten eine leistungsstarke Möglichkeit, Dateivorgänge abzuwickeln. Durch die Verwendung von InputStream und OutputStream und ihren gepufferten Gegenstücken können Sie effizient aus Dateien lesen und in Dateien schreiben.

Das obige ist der detaillierte Inhalt vonTipps zur Verwendung von Java Streams für die Dateieingabe/-ausgabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage