Вопрос-ответ

File to byte[] in Java

Преобразование файла в байт [] в Java

Как мне преобразовать java.io.File в byte[]?

Переведено автоматически
Ответ 1

Из JDK 7 вы можете использовать Files.readAllBytes(Path).

Пример:

import java.io.File;
import java.nio.file.Files;

File file;
// ...(file is initialised)...
byte[] fileContent = Files.readAllBytes(file.toPath());
Ответ 2

Это зависит от того, что лучше всего подходит для вас. С точки зрения производительности, не изобретайте велосипед и используйте Apache Commons. Который находится здесь FileUtils.readFileToByteArray(File input).

Ответ 3

Начиная с JDK 7 - одна строка:

byte[] array = Files.readAllBytes(Paths.get("/path/to/file"));

Никаких внешних зависимостей не требуется.

Ответ 4
import java.io.RandomAccessFile;
RandomAccessFile f = new RandomAccessFile(fileName, "r");
byte[] b = new byte[(int)f.length()];
f.readFully(b);

Документация для Java 8: http://docs.oracle.com/javase/8/docs/api/java/io/RandomAccessFile.html

java