Java – Fileをbyte[]に変換する方法
ファイルをbyte[]に変換するには、次のようにしてください:
File file = new File("/temp/abc.txt");
//init array with file length
byte[]bytesArray = new byte[(int) file.length()];
FileInputStream fis = new FileInputStream(file);
fis.read(bytesArray);//read file into bytes[] fis.close();
return bytesArray;
またはNIO
String filePath = "/temp/abc.txt"; byte[]bFile = Files.readAllBytes(new File(filePath).toPath()); //or this byte[]bFile = Files.readAllBytes(Paths.get(filePath));
完全な例
このJavaの例では、古典的な
FileInputStream`と
java.nio`クラスを使用して、ファイルをバイト配列に読み込む方法を示します。
FileToArrayOfBytes.java
package com.mkyong;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FileToArrayOfBytes {
public static void main(String[]args) {
try {
//convert file to byte[] byte[]bFile = readBytesFromFile("C:\\temp\\testing1.txt");
//java nio
//byte[]bFile = Files.readAllBytes(new File("C:\\temp\\testing1.txt").toPath());
//byte[]bFile = Files.readAllBytes(Paths.get("C:\\temp\\testing1.txt"));
//save byte[]into a file
Path path = Paths.get("C:\temp\\test2.txt");
Files.write(path, bFile);
System.out.println("Done");
//Print bytes[] for (int i = 0; i < bFile.length; i++) {
System.out.print((char) bFile[i]);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static byte[]readBytesFromFile(String filePath) {
FileInputStream fileInputStream = null;
byte[]bytesArray = null;
try {
File file = new File(filePath);
bytesArray = new byte[(int) file.length()];
//read file into bytes[] fileInputStream = new FileInputStream(file);
fileInputStream.read(bytesArray);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return bytesArray;
}
}
参考文献
-
リンク://java/how-to-convert-bytes-into-file/[Java – How to
バイト[]をファイルに保存]。
https://docs/
JavaDoc]。
https://docs.oracle.com/javase/8/docs/api/java/io/FileInputStream.html
[FileInputStream
JavaDoc]