В этой статье показано несколько способов сохранения байта[]
в файл.
Для JDK 1.7 и выше NIO Files.write является самым простым решением для сохранения байта []
в файл.
// bytes = byte[] Path path = Paths.get("/path/file"); Files.write(path, bytes);
FileOutputStream
является лучшей альтернативой.
try (FileOutputStream fos = new FileOutputStream("/path/file")) { fos.write(bytes); //fos.close // no need, try-with-resources auto close }
Если у нас есть Apache Commons IO , попробуйте FileUtils
.
FileUtils.writeByteArrayToFile(new File("/path/file"), bytes);
commons-io commons-io 2.7
1. Сохраните байт[] в файл.
Приведенный ниже пример считывает файл и преобразует данные в байт[]
. Позже мы сохраним байт[]
в другой файл.
package com.mkyong.io.howto; import org.apache.commons.io.FileUtils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class ByteToFile { public static void main(String[] args) { try { // tested with character data and binary data // file to bytes[] byte[] bytes = Files.readAllBytes(Paths.get("/home/mkyong/test/file.txt")); // save byte[] to a file writeBytesToFile("/home/mkyong/test/file2.txt", bytes); writeBytesToFileNio("/home/mkyong/test/file3.txt", bytes); writeBytesToFileApache("/home/mkyong/test/file4.txt", bytes); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } } //JDK 7 - FileOutputStream + try-with-resources private static void writeBytesToFile(String fileOutput, byte[] bytes) throws IOException { try (FileOutputStream fos = new FileOutputStream(fileOutput)) { fos.write(bytes); } } //JDK 7, NIO, Files.write private static void writeBytesToFileNio(String fileOutput, byte[] bytes) throws IOException { Path path = Paths.get(fileOutput); Files.write(path, bytes); } // Apache Commons IO private static void writeBytesToFileApache(String fileOutput, byte[] bytes) throws IOException { FileUtils.writeByteArrayToFile(new File(fileOutput), bytes); } }
Скачать Исходный Код
$клон git $клон git
$cd java-ввод-вывод
Рекомендации
- Файловые файлы Apache Commons javadoc
- Общий доступ Apache IO
- файловыходной поток javadoc
- Файлы JavaDoc
- Java – Как конвертировать файл в массивы байтов
Оригинал: “https://mkyong.com/java/how-to-convert-array-of-bytes-into-file/”