HOWTO · Java
Java でファイルからバイトを読み取る
このチュートリアルでは、Java でファイルからバイトを読み取る方法を示します。
このページの内容
Java には、ファイルからバイトを読み取ったり、ファイルをバイトまたはバイト配列に変換したりするためのメソッドがいくつかあります。 このチュートリアルでは、Java でファイルからバイトを読み取るさまざまな方法を示します。
FileInputStream を使用して Java でファイルからバイトを読み取る
FileInputStream は、指定されたファイルからバイトを使用してデータを読み取ることができます。 このクラスの FileInputStream.read() メソッドを使用して、Java でファイルからバイトを読み取ることができます。
以下の手順に従って、FileInputStream クラスを使用してファイルからバイトを読み取ります。
- まず、
FileInputStreamクラスのインスタンスを作成します。 - 次に、バイト配列を作成します。 長さは入力ファイルと同じでなければなりません。
read()メソッドを使用してFileInputStreamからバイトを読み取ります。- バイト配列を印刷します。
- インスタンスを閉じます。
上記の手順に基づいて例を実装してみましょう。
入力ファイルは 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 クラスを使用してファイルからバイトを読み取ります。
Paths.get()メソッドを使用してパスを取得します。Files.readAllBytes()を使用して、指定されたファイルからバイトを配列に読み取ります。- バイト配列を印刷します。
例を参照してください。
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 を使用してファイルからバイトを読み取ります。
- 指定されたパスで
Fileクラスを使用してファイルを作成します。 - ファイル名を入力として
FileUtils.readFileToByteArray()を使用してバイトを読み取ります。 - バイト配列を印刷します。
この例の 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]