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]