Java-I/O-Streams bieten einen Mechanismus zum Lesen und Schreiben von Daten über ein Producer-Consumer-Modell und vereinfachen so die Kommunikation zwischen Datenquellen und -zielen. Stream-Typen werden in Byte-Streams und Zeichen-Streams unterteilt. Der Eingabestream wird zum Lesen von Daten und der Ausgabestream zum Schreiben von Daten verwendet. Zu den Schlüsselkonzepten gehören Pufferung, Markierung, Lese-/Schreibmethoden und Dateihandles. Praktischer Fall: Beim Lesen von Text aus einer Datei und beim Kopieren in eine andere Datei wird FileInputStream als Eingabestream verwendet, FileOutputStream als Ausgabestream, die while-Schleife liest Bytes und schreibt sie und die Methode „flush()“ aktualisiert den Puffer .
Prinzipien und Schlüsselkonzepte von Java-I/O-Streams
Einführung
Der Java-I/O-Stream-Mechanismus bietet eine Abstraktion zum Lesen und Schreiben von Daten und vereinfacht so die Kommunikation zwischen verschiedenen Arten von Datenquellen und Zielen . Es basiert auf dem „Produzenten-Konsumenten“-Modell, bei dem Produzenten Daten generieren und Verbraucher diese empfangen und verarbeiten.
Arten von StreamsByte-Streams:
Rohe Byte-Daten wie Bilder oder Dateien lesen und schreiben. Zeichenstrom:
Lesen und schreiben Sie Zeichendaten, die durch den Char-Typ dargestellt werden, z. B. Text oder Code.
Eingabestrom:
wird zum Lesen von Daten aus der Datenquelle verwendet. Ausgabestream:
Wird zum Schreiben von Daten an das Ziel verwendet.
read()
, write()
und flush(). <strong></strong><code>read()
、write()
和 flush()
。
实战案例:
考虑以下 Java 代码从文件中读取文本并将其复制到另一个文件中:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class CopyFile { public static void main(String[] args) { // 源文件 File sourceFile = new File("source.txt"); // 目标文件 File targetFile = new File("target.txt"); // 创建文件输入流 try (FileInputStream fis = new FileInputStream(sourceFile); // 创建文件输出流 FileOutputStream fos = new FileOutputStream(targetFile)) { // 循环读取源文件中的字节 int b; while ((b = fis.read()) != -1) { // 将读取到的字节写入目标文件 fos.write(b); } // 刷新目标文件缓冲区 fos.flush(); } catch (IOException e) { e.printStackTrace(); } } }
在这个例子中:
FileInputStream
用作 输入流,用于从 source.txt
文件中读取字节。FileOutputStream
用作 输出流,用于将字节写入到 target.txt
文件中。while
循环读取 source.txt
中的字节并将其写入 target.txt
。flush()
方法刷新 target.txt
Datei-Handle: FileInputStream
🎜 wird verwendet als 🎜Eingabestream🎜 zum Lesen von Bytes aus der Datei source.txt
. 🎜🎜🎜FileOutputStream
🎜 wird als 🎜Ausgabestream🎜 zum Schreiben von Bytes in die Datei target.txt
verwendet. 🎜🎜🎜while
🎜 Schleifen, um die Bytes in source.txt
zu lesen und sie in target.txt
zu schreiben. Die Methode 🎜🎜🎜flush()
🎜 leert den Puffer von target.txt
, um sicherzustellen, dass alle Bytes in die Datei geschrieben wurden. 🎜🎜Das obige ist der detaillierte Inhalt vonWas sind die Prinzipien und Schlüsselkonzepte von Java-I/O-Streams?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!