Dieser Artikel vermittelt Ihnen relevantes Wissen über Java. Er stellt hauptsächlich Probleme im Zusammenhang mit E/A-Operationen vor, einschließlich Byte-Streams und Zeichen-Streams. Ich hoffe, dass er für alle hilfreich ist.
Empfohlene Studie: „Java-Video-Tutorial“
Vorwort: In diesem Kapitel wird die grundlegende Verwendung von Byte-Stream und Zeichen-Stream im Detail vorgestellt, mit Abbildungen und Code-Implementierung.
Java.io.InputStream-Eingabestream, der hauptsächlich zum Lesen von Dateiinhalten verwendet wird.
Java.io.OutputStream-Ausgabestream, der hauptsächlich zum Schreiben von Inhaltsbytes in Dateien verwendet wird.
Dieser Stream wird zum Lesen von Daten aus einer Datei verwendet und sein Objekt kann mit dem Schlüsselwort new erstellt werden.
Es gibt verschiedene Konstruktormethoden zum Erstellen von Objekten.
Sie können einen Dateinamen vom Typ „String“ verwenden, um ein Eingabestream-Objekt zum Lesen der Datei zu erstellen
InputStream f = new FileInputStream("D:/hello");
Sie können auch ein Dateiobjekt verwenden, um ein Eingabestream-Objekt zum Lesen der Datei zu erstellen. Wir müssen zuerst die Methode File() verwenden, um ein Dateiobjekt zu erstellen:
File f = new File("D:/hello");InputStream in = new FileInputStream(f);
Diese Klasse wird verwendet, um eine Datei zu erstellen und Daten in die Datei zu schreiben.
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 „String“, 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);
Lesen Sie den Inhalt der Datei D:/hello.txt und geben Sie ihn dann in die Datei ein D:/test.
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(); } }
Instanz der Schreibdatei in txt
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(); }}
Instanz der Lesedatei
Ich habe den Inhalt geändert zu neuen Zeilen hier
br .ready() soll feststellen, ob dieser Zeilenstrom leer ist
br.readLine() dient dazu, eine Zeile auszugeben und dann den Cursor automatisch auf die nächste Zeile zu richten.
public class A { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("user.txt")); while (br.ready()) { System.out.println(br.readLine()); } br.close(); }}
Die Verwendung von Byte-Stream und Zeichen-Stream ist sehr ähnlich. Was sind also die Unterschiede, abgesehen vom Unterschied im Operationscode?
Der Byte-Stream selbst verwendet beim Betrieb keinen Puffer (Speicher), sondern wird direkt mit der Datei selbst betrieben, während der Zeichen-Stream beim Betrieb den Puffer verwendet.
Der Byte-Stream verwendet beim Betrieb einer Datei die Datei wird auch dann ausgegeben, wenn die Ressource nicht geschlossen ist (Close-Methode). Wenn der Zeichenstrom jedoch nicht die Close-Methode verwendet, wird kein Inhalt ausgegeben, was darauf hinweist, dass der Zeichenstrom einen Puffer verwendet und mit der Flush-Methode erzwungen werden kann. Aktualisieren Sie den Puffer, dann kann der Inhalt ohne Schließen ausgegeben werden. Ist es also in der Entwicklung besser, einen Byte-Stream oder einen Zeichen-Stream zu verwenden?
Beim Speichern von Dateien oder beim Übertragen von Dateien auf allen Festplatten erfolgt dies in Bytes, einschließlich Bildern, und Zeichen werden nur im Speicher gebildet, sodass Bytes-Vorgänge am häufigsten verwendet werden. Wenn Sie möchten, dass ein Java-Programm eine Kopierfunktion implementiert, sollten Sie für den Betrieb einen Bytestream verwenden (das Bild kann kopiert werden) und gleichzeitig lesen und schreiben (um Speicher zu sparen).
Empfohlenes Lernen: „
“
Java-Video-Tutorial
Das obige ist der detaillierte Inhalt vonJAVA lernt E/A-Operationen, Byte-Stream und Zeichen-Stream (zusammenfassende gemeinsame Nutzung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!