Java でファイルからバイトを読み取る

Sheeraz Gul 2023年10月12日
  1. FileInputStream を使用して Java でファイルからバイトを読み取る
  2. Files クラス readAllBytes() メソッドを使用して、Java でファイルからバイトを読み取る
  3. Apache Commons-IO を使用して Java でファイルからバイトを読み取る
Java でファイルからバイトを読み取る

Java には、ファイルからバイトを読み取ったり、ファイルをバイトまたはバイト配列に変換したりするためのメソッドがいくつかあります。 このチュートリアルでは、Java でファイルからバイトを読み取るさまざまな方法を示します。

FileInputStream を使用して Java でファイルからバイトを読み取る

FileInputStream は、指定されたファイルからバイトを使用してデータを読み取ることができます。 このクラスの FileInputStream.read() メソッドを使用して、Java でファイルからバイトを読み取ることができます。

以下の手順に従って、FileInputStream クラスを使用してファイルからバイトを読み取ります。

  1. まず、FileInputStream クラスのインスタンスを作成します。
  2. 次に、バイト配列を作成します。 長さは入力ファイルと同じでなければなりません。
  3. read() メソッドを使用して FileInputStream からバイトを読み取ります。
  4. バイト配列を印刷します。
  5. インスタンスを閉じます。

上記の手順に基づいて例を実装してみましょう。

入力ファイルは Rich Text Format です。

Hi, This is delftstack.com! The Best tutorial site.

Java 実装:

package delftstack;

import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;

public class Example {
  public static void main(String[] args) throws IOException {
    File File_Path = new File("C:\\Users\\Sheeraz\\delftstack.rtf");
    // Instance of the FileInputStream
    FileInputStream File_Input_Stream = new FileInputStream(File_Path);

    // Create a byte array
    byte[] Demo_Array = new byte[(int) File_Path.length()];

    // Read file content to byte array
    File_Input_Stream.read(Demo_Array);

    // Close the instance
    File_Input_Stream.close();

    // Print the above byte array
    System.out.print(Arrays.toString(Demo_Array));
  }
}

上記のコードは、指定されたファイルから配列にバイトを読み取ります。 出力を参照してください:

[72, 105, 44, 32, 84, 104, 105, 115, 32, 105, 115, 32, 100, 101,
 108, 102, 116, 115, 116, 97, 99, 107, 46, 99, 111, 109, 33, 32,
 84, 104, 101, 32, 66, 101, 115, 116, 32, 116, 117, 116, 111,
 114, 105, 97, 108, 32, 115, 105, 116, 101, 46]

Files クラス readAllBytes() メソッドを使用して、Java でファイルからバイトを読み取る

readAllBytes() メソッドは、Java のファイルからすべてのバイトを読み取ります。 以下の手順に従って、Files クラスを使用してファイルからバイトを読み取ります。

  1. Paths.get() メソッドを使用してパスを取得します。
  2. Files.readAllBytes() を使用して、指定されたファイルからバイトを配列に読み取ります。
  3. バイト配列を印刷します。

例を参照してください。

package delftstack;

import java.io.*;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;

public class Example {
  public static void main(String[] args) throws IOException {
    // Create the path
    Path File_Path = Paths.get("C:\\Users\\Sheeraz\\delftstack.rtf");

    // Read Bytes
    byte[] Demo_Array = Files.readAllBytes(File_Path);

    // Print the above byte array
    System.out.print(Arrays.toString(Demo_Array));
  }
}

このコードは、Files.readAllBytes() メソッドを使用して、指定されたファイルからバイトを読み取ります。 出力を参照してください:

[72, 105, 44, 32, 84, 104, 105, 115, 32, 105, 115,
 32, 100, 101, 108, 102, 116, 115, 116, 97, 99, 107,
 46, 99, 111, 109, 33, 32, 84, 104, 101, 32, 66, 101,
 115, 116, 32, 116, 117, 116, 111, 114, 105, 97, 108,
 32, 115, 105, 116, 101, 46]

Apache Commons-IO を使用して Java でファイルからバイトを読み取る

Apache Commons-IO には、Java でファイルからすべてのバイトを読み取るために使用できるパッケージ FileUtils があります。 Apache Commons-IO が Java 環境に追加されていることを確認してください。

Apache Commons-IO の Maven 依存関係は次のとおりです。 pom.xml に追加します。

<dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.7</version>
  </dependency>

以下の手順に従って、Apache Commons-IO を使用してファイルからバイトを読み取ります。

  1. 指定されたパスで File クラスを使用してファイルを作成します。
  2. ファイル名を入力として FileUtils.readFileToByteArray() を使用してバイトを読み取ります。
  3. バイト配列を印刷します。

この例の Java 実装を次に示します。

package delftstack;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import org.apache.commons.io.FileUtils;

public class Example {
  public static void main(String[] args) throws IOException {
    // Create the path
    File Demo_File = new File("C:\\Users\\Sheeraz\\delftstack.rtf");

    // Read Bytes
    byte[] Demo_Array = FileUtils.readFileToByteArray(Demo_File);

    // Print the above byte array
    System.out.print(Arrays.toString(Demo_Array));
  }
}

このコードは、Apache Commons-IO ライブラリを使用して、指定されたファイルからバイトを読み取ります。 出力を参照してください:

[72, 105, 44, 32, 84, 104, 105, 115, 32, 105, 115,
 32, 100, 101, 108, 102, 116, 115, 116, 97, 99, 107,
 46, 99, 111, 109, 33, 32, 84, 104, 101, 32, 66, 101,
 115, 116, 32, 116, 117, 116, 111, 114, 105, 97, 108,
 32, 115, 105, 116, 101, 46]
著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

関連記事 - Java Bytes

関連記事 - Java File