Как преобразовать массив байтов в файл в Java?
byte[] objFileBytes, File objFile
Как преобразовать массив байтов в файл в Java?
byte[] objFileBytes, File objFile
Объект File не содержит содержимого файла. Это только указатель на файл на вашем жестком диске (или другой носитель, например SSD, USB-накопитель, общий сетевой ресурс). Поэтому я думаю, что вы хотите записать его на жесткий диск.
Вы должны записать файл, используя некоторые классы в Java API
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(yourFile));
bos.write(fileBytes);
bos.flush();
bos.close();
Вы также можете использовать Writer вместо OutputStream. Использование записи позволит вам написать текст (String, char []).
BufferedWriter bw = new BufferedWriter(new FileWriter(yourFile));
Поскольку вы сказали, что хотите сохранить все в памяти и не хотите ничего писать, вы можете попробовать использовать ByteArrayInputStream
. Это имитирует InputStream, который вы можете передать большинству классов.
ByteArrayInputStream bais = new ByteArrayInputStream(yourBytes);
public void writeToFile(byte[] data, String fileName) throws IOException{
FileOutputStream out = new FileOutputStream(fileName);
out.write(data);
out.close();
}
Использовать FileOutputStream.
FileOutputStream fos = new FileOutputStream(objFile);
fos.write(objFileBytes);
fos.close();
Хорошо, вы просили об этом:
File file = new File("myfile.txt");
// convert File to byte[]
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(file);
bos.close();
oos.close();
byte[] bytes = bos.toByteArray();
// convert byte[] to File
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(bis);
File fileFromBytes = (File) ois.readObject();
bis.close();
ois.close();
System.out.println(fileFromBytes);
Но это бессмысленно. Укажите, чего вы пытаетесь достичь.
Смотрите Как сделать PDF в Android. Похоже, что у вас может не быть какой-либо опции, кроме сохранения содержимого (временного) в SD файле, чтобы он мог отображать его в средстве просмотра PDF.