С Java:
У меня есть, byte[]
который представляет файл.
Как мне записать это в файл (т.е. C:\myfile.pdf
)
Я знаю, что это сделано с InputStream, но я не могу решить это.
Используйте Apache Commons IO
FileUtils.writeByteArrayToFile(new File("pathname"), myByteArray)
Или, если вы настаиваете на том, чтобы сделать работу для себя ...
try (FileOutputStream fos = new FileOutputStream("pathname")) {
fos.write(myByteArray);
//fos.close(); There is no more need for this line since you had created the instance of "fos" inside the try. And this will automatically close the OutputStream
}
try {} finally {}
для обеспечения надлежащей очистки ресурса.Без каких-либо библиотек:
С Google Guava :
С Apache Commons :
Все эти стратегии требуют, чтобы вы также ловили IOException в какой-то момент.
источник
Другое решение с использованием
java.nio.file
:источник
C:\myfile.pdf
будет работать на Android в любом случае ...;)Также начиная с Java 7, одна строка с java.nio.file.Files:
Где data - ваш байт [], а filePath - строка. Вы также можете добавить несколько вариантов открытия файлов с помощью класса StandardOpenOptions. Добавить броски или окружить с помощью try / catch.
источник
Paths.get(filePath);
вместоnew File(filePath).toPath()
Начиная с Java 7 вы можете использовать оператор try-with-resources, чтобы избежать утечки ресурсов и сделать ваш код более легким для чтения. Подробнее об этом здесь .
Чтобы записать свой
byteArray
файл, вы должны сделать:источник
Попробуйте
OutputStream
или более конкретноFileOutputStream
источник
На самом деле, вы будете писать в файл вывода ...
источник
источник
////////////////////////// 1] Файл в байт [] ///////////////// //
/////////////////////// 2] Byte [] в File //////////////////////////////// ///////
источник
Основной пример:
источник
Это программа, в которой мы читаем и печатаем массив байтов смещения и длины, используя String Builder и записываем массив байтов смещения длины в новый файл.
` Введите код здесь
O / P в консоли: fghij
O / P в новом файле: cdefg
источник
Вы можете попробовать Cactoos :
Более подробная информация: http://www.yegor256.com/2017/06/22/object-oriented-input-output-in-cactoos.html
источник