Heim  >  Artikel  >  Java  >  Analyse von Byte-Stream- und Zeichen-Stream-Beispielen für E/A-Operationen in JAVA

Analyse von Byte-Stream- und Zeichen-Stream-Beispielen für E/A-Operationen in JAVA

王林
王林nach vorne
2023-04-22 17:58:08783Durchsuche

#? 🎜#

java.io.InputStream-Eingabestream, der hauptsächlich zum Lesen von Dateiinhalten verwendet wird. Analyse von Byte-Stream- und Zeichen-Stream-Beispielen für E/A-Operationen in JAVA

java.io.OutputStream-Ausgabestream, der hauptsächlich zum Schreiben von Inhaltsbytes in Dateien verwendet wird.

Analyse von Byte-Stream- und Zeichen-Stream-Beispielen für E/A-Operationen in JAVA

FileInputStream
  • Dieser Stream wird zum Lesen von Daten aus einer Datei verwendet Objekte können mit dem Schlüsselwort new erstellt werden.
  • Es gibt verschiedene Konstruktionsmethoden, mit denen Objekte erstellt werden.
  • Sie können einen Dateinamen vom Typ Zeichenfolge verwenden, um ein Eingabestreamobjekt zum Lesen der Datei zu erstellen.

    InputStream f = new FileInputStream("D:/hello");
Sie können auch ein Dateiobjekt verwenden, um eine Eingabe zu erstellen stream Objekt zum Lesen der Datei. Wir müssen zuerst die File()-Methode verwenden, um ein Dateiobjekt zu erstellen:

File f = new File("D:/hello");InputStream in = new FileInputStream(f);

FileOutputStream



Diese Klasse wird zum Erstellen einer Datei und zum Schreiben von Daten in die Datei verwendet.

Wenn die Zieldatei nicht existiert, bevor der Stream die Datei zur Ausgabe öffnet, erstellt der Stream die Datei.
Es gibt zwei Konstruktoren, die zum Erstellen von FileOutputStream-Objekten verwendet werden können.
Verwenden Sie einen Dateinamen vom Typ Zeichenfolge, um ein Ausgabestream-Objekt zu erstellen:

OutputStream f = new FileOutputStream("D:/hello");

Sie können auch ein Dateiobjekt verwenden, um einen Ausgabestream zum Schreiben von Dateien zu erstellen. Wir müssen zuerst die File()-Methode verwenden, um ein Dateiobjekt zu erstellen:
File f = new File("D:/hello");OutputStream fOut = new FileOutputStream(f);

Byte Stream Reading and Writing Case


#🎜🎜 ## 🎜🎜#Lesen Sie den Inhalt der Datei D:/hello.txt und geben Sie ihn dann in die Datei D:/test.txt

      public class Mk {
        public static void main(String[] args) throws IOException {
            File file=new File("D://hello.txt");
            File file1= new File("D://test.txt");
            InputStream is=new FileInputStream(file);
            OutputStream out=new FileOutputStream(file1);
            //定义byte数组用来暂存数据
            byte[] buf = new byte[1024];
            //读取Is中的内容存到buf
            is.read(buf);
            //将buf中的内容写入out
            out.write(buf);
            is.close();
            out.close();
        }
        }

Zeichenfluss
# ein ?? 🎜##🎜 🎜## 🎜🎜#

FileReader

Dateibeispiel lesen Hier habe ich den Inhalt in neue Zeilen geändert#🎜🎜 #

br.ready() dient dazu, festzustellen, ob der Zeilenstrom leer ist.

br.readLine() dient dazu, eine Zeile auszugeben und den Cursor dann automatisch auf die nächste Zeile zu richten.

public class A {
    public static void main(String[] args) throws IOException {
        FileWriter fw = new FileWriter("user.txt", true);
        fw.write("你好中国1");
        fw.write("你好中国2");
        fw.write("你好中国3");
        fw.close();
    }}

Der Unterschied zwischen Bytestream und Zeichenstream

Bytestream und Zeichen The Die Verwendung von Streams ist sehr ähnlich. Was sind also die Unterschiede, abgesehen vom Unterschied im Operationscode?

Der Byte-Stream selbst verwendet beim Betrieb keinen Puffer (Speicher). Er arbeitet direkt mit der Datei selbst, während der Zeichen-Stream bei Verwendung des Puffers ausgeführt wird. 🎜🎜# Wenn der Bytestream die Datei bearbeitet, kann die Datei auch dann ausgegeben werden, wenn die Ressource nicht geschlossen ist (Close-Methode). Wenn der Zeichenstream jedoch nicht die Close-Methode verwendet, wird kein Inhalt ausgegeben dass der Zeichenstrom einen Puffer verwendet und die Aktualisierung des Puffers mit der Flush-Methode erzwungen werden kann. Nur dann kann der Inhalt ohne Schließen ausgegeben werden. Ist es besser, einen Bytestrom oder einen Zeichenstrom zu verwenden? Analyse von Byte-Stream- und Zeichen-Stream-Beispielen für E/A-Operationen in JAVA
Analyse von Byte-Stream- und Zeichen-Stream-Beispielen für E/A-Operationen in JAVA

Beim Speichern von Dateien oder beim Übertragen auf alle Festplatten erfolgt dies in Bytes, einschließlich Bildern, und Zeichen werden nur im Speicher gebildet, also am meisten Operationen mit Bytes sind.

Wenn Sie möchten, dass ein Java-Programm eine Kopierfunktion implementiert, sollten Sie zum Betrieb einen Bytestream verwenden (das Bild kann kopiert werden) und gleichzeitig lesen und schreiben (um Speicher zu sparen).

Das obige ist der detaillierte Inhalt vonAnalyse von Byte-Stream- und Zeichen-Stream-Beispielen für E/A-Operationen in JAVA. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen