ホームページ  >  記事  >  Java  >  Java I/O ストリームはバイナリ データをどのように処理しますか?

Java I/O ストリームはバイナリ データをどのように処理しますか?

王林
王林オリジナル
2024-04-13 14:03:01469ブラウズ

バイナリ データを処理するための Java I/O ストリーム メソッドには、FileInputStream および FileOutputStream: バイナリ ファイルの読み取りと書き込みに使用されます。 DataInputStream および DataOutputStream: プリミティブ データ型および文字列の高度な読み取りおよび書き込み用。実際のケース例: 画像ファイルの読み取りと書き込み。

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

Java I/O ストリームがバイナリ データを処理する方法

はじめに
Java I/Oストリームはバイナリ データを処理するためのメカニズムを提供し、ファイルの読み取りと書き込み、ネットワーク通信、およびデータ処理において重要です。この記事では、Java でバイナリ データを処理するために使用されるストリーム タイプ (FileInputStreamFileOutputStreamDataInputStreamDataOutputStream) を紹介します。

FileInputStream と FileOutputStream
これら 2 つのストリームは、バイナリ ファイルの読み取りと書き込みに使用されます。

  • 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
これら 2 つのストリームを使用すると、より高度な方法で読み取ることができます。バイナリ データを使用して、プリミティブ データ型と文字列の読み取りと書き込みを可能にします。

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

結論
FileInputStreamFileOutputStreamDataInputStream、# # を介した Java I/O ストリーム#DataOutputStream は、バイナリ データを処理するための強力なメカニズムを提供します。これらのストリームを使用すると、さまざまなアプリケーションで役立つプリミティブ データ型、文字列、および複雑なオブジェクトの読み取りと書き込みが可能になります。

以上がJava I/O ストリームはバイナリ データをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。