Maison  >  Article  >  Java  >  Comment les flux d’E/S Java gèrent-ils les données binaires ?

Comment les flux d’E/S Java gèrent-ils les données binaires ?

王林
王林original
2024-04-13 14:03:01474parcourir

Les méthodes de flux d'E/S Java pour le traitement des données binaires incluent : FileInputStream et FileOutputStream : utilisées pour lire et écrire des fichiers binaires. DataInputStream et DataOutputStream : pour la lecture et l'écriture avancées de types de données et de chaînes primitifs. Exemple de cas pratique : lecture et écriture de fichiers images.

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

Comment les flux d'E/S Java traitent les données binaires

Introduction
Les flux d'E/S Java fournissent un mécanisme de traitement des données binaires, ce qui est crucial pour la lecture et l'écriture de fichiers, la communication réseau et le traitement des données. . Cet article présentera les types de flux utilisés pour traiter les données binaires en Java, notamment FileInputStream, FileOutputStream, DataInputStream et 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);
}

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);
}

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

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

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

结论
Java I/O 流通过 FileInputStreamFileOutputStreamDataInputStreamDataOutputStream

🎜FileInputStream et FileOutputStream🎜🎜Ces deux flux sont utilisés pour lire et écrire des fichiers binaires. 🎜
  • 🎜FileInputStream : 🎜Utilisé pour lire des données binaires à partir d'un fichier.
  • 🎜FileOutputStream : 🎜Utilisé pour écrire des données binaires dans un fichier.
🎜🎜Exemple de code : 🎜🎜rrreee🎜🎜DataInputStream et DataOutputStream🎜🎜Ces deux flux vous permettent de lire et d'écrire des données binaires de manière plus avancée, vous permettant de lire et d'écrire des types de données primitifs et cordes. 🎜
  • 🎜DataInputStream : 🎜 Utilisé pour lire les types de données primitifs à partir des flux d'entrée.
  • 🎜DataOutputStream : 🎜Utilisé pour écrire des types de données primitifs dans le flux de sortie.
🎜🎜Exemple de code :🎜🎜rrreee🎜🎜Cas pratique🎜🎜Vous pouvez utiliser des flux d'E/S binaires pour lire et écrire des fichiers image :🎜rrreee🎜🎜Conclusion🎜🎜Flux d'E/S Java Puissant les mécanismes de gestion des données binaires sont fournis via FileInputStream, FileOutputStream, DataInputStream et DataOutputStream. Ces flux vous permettent de lire et d'écrire des types de données primitifs, des chaînes et des objets complexes, utiles dans diverses applications. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn