Heim > Java > javaLernprogramm > Wie gehen Java-I/O-Streams mit Binärdaten um?

Wie gehen Java-I/O-Streams mit Binärdaten um?

王林
Freigeben: 2024-04-13 14:03:01
Original
655 Leute haben es durchsucht

Zu den Java-E/A-Stream-Methoden zur Verarbeitung von Binärdaten gehören: FileInputStream und FileOutputStream: werden zum Lesen und Schreiben von Binärdateien verwendet. DataInputStream und DataOutputStream: zum erweiterten Lesen und Schreiben primitiver Datentypen und Zeichenfolgen. Praxisbeispiel: Bilddateien lesen und schreiben.

Java I/O流如何处理二进制数据?

Wie Java-I/O-Streams Binärdaten verarbeiten

Einführung
Java-I/O-Streams bieten einen Mechanismus zum Verarbeiten von Binärdaten, der für das Lesen und Schreiben von Dateien, die Netzwerkkommunikation und die Datenverarbeitung von entscheidender Bedeutung ist . In diesem Artikel werden die Stream-Typen vorgestellt, die zur Verarbeitung von Binärdaten in Java verwendet werden, einschließlich FileInputStream, FileOutputStream, DataInputStream und DataOutputStream . FileInputStreamFileOutputStreamDataInputStreamDataOutputStream

FileInputStream 和 FileOutputStream
这两个流用于读写二进制文件。

  • FileInputStream:用于从文件读取二进制数据。
  • FileOutputStream:用于将二进制数据写入文件。

代码示例:

// 从文件读取二进制数据
try (FileInputStream fis = new FileInputStream("data.bin")) {
    int data;
    while ((data = fis.read()) != -1) {
        System.out.println(data);
    }
}

// 向文件写入二进制数据
try (FileOutputStream fos = new FileOutputStream("data.bin")) {
    fos.write(1);
    fos.write(2);
    fos.write(3);
}
Nach dem Login kopieren

DataInputStream 和 DataOutputStream
这两个流使您可以以更高级的方式读写二进制数据,允许您读写原始数据类型和字符串。

  • DataInputStream:用于从输入流中读取原始数据类型。
  • DataOutputStream:用于将原始数据类型写入输出流。

代码示例:

// 从输入流中读取原始数据类型
try (DataInputStream dis = new DataInputStream(new FileInputStream("data.bin"))) {
    int i = dis.readInt();
    double d = dis.readDouble();
}

// 向输出流中写入原始数据类型
try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.bin"))) {
    dos.writeInt(42);
    dos.writeDouble(3.14);
}
Nach dem Login kopieren

实战案例
您可以使用二进制 I/O 流读取和写入图像文件:

// 读取图像文件
BufferedImage image = ImageIO.read(new File("image.jpg"));

// 将图像写入二进制文件
try (FileOutputStream fos = new FileOutputStream("image.bin")) {
    ImageIO.write(image, "jpg", fos);
}
Nach dem Login kopieren

结论
Java I/O 流通过 FileInputStreamFileOutputStreamDataInputStreamDataOutputStream

🎜FileInputStream und FileOutputStream🎜🎜Diese beiden Streams werden zum Lesen und Schreiben von Binärdateien verwendet. 🎜
  • 🎜FileInputStream: 🎜Wird zum Lesen von Binärdaten aus einer Datei verwendet.
  • 🎜FileOutputStream: 🎜Wird zum Schreiben von Binärdaten in eine Datei verwendet.
🎜🎜Codebeispiel: 🎜🎜rrreee🎜🎜DataInputStream und DataOutputStream🎜🎜Mit diesen beiden Streams können Sie Binärdaten auf fortgeschrittenere Weise lesen und schreiben, sodass Sie primitive Datentypen lesen und schreiben können Saiten. 🎜
  • 🎜DataInputStream: 🎜 Wird zum Lesen primitiver Datentypen aus Eingabestreams verwendet.
  • 🎜DataOutputStream: 🎜Wird verwendet, um primitive Datentypen in den Ausgabestream zu schreiben.
🎜🎜Codebeispiel:🎜🎜rrreee🎜🎜Praktischer Fall🎜🎜Sie können binäre I/O-Streams zum Lesen und Schreiben von Bilddateien verwenden:🎜rrreee🎜🎜Fazit🎜🎜Java I/O-Streams Leistungsstark Mechanismen zur Verarbeitung binärer Daten werden über FileInputStream, FileOutputStream, DataInputStream und DataOutputStream bereitgestellt. Mit diesen Streams können Sie primitive Datentypen, Zeichenfolgen und komplexe Objekte lesen und schreiben, wodurch sie für eine Vielzahl von Anwendungen nützlich sind. 🎜

Das obige ist der detaillierte Inhalt vonWie gehen Java-I/O-Streams mit Binärdaten um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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