Записать байт [] в файл в Java

Как преобразовать массив байтов в файл в Java?

byte[] objFileBytes, File objFile

Ответ 1

Объект 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);

Ответ 2

public void writeToFile(byte[] data, String fileName) throws IOException{
  FileOutputStream out = new FileOutputStream(fileName);
  out.write(data);
  out.close();
}

Ответ 3

Использовать FileOutputStream.

FileOutputStream fos = new FileOutputStream(objFile);
fos.write(objFileBytes);
fos.close();

Ответ 4

Хорошо, вы просили об этом:

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);

Но это бессмысленно. Укажите, чего вы пытаетесь достичь.

Ответ 5

Смотрите Как сделать PDF в Android. Похоже, что у вас может не быть какой-либо опции, кроме сохранения содержимого (временного) в SD файле, чтобы он мог отображать его в средстве просмотра PDF.