在Java中写入byte 到File

如何将字节数组转换为Java中的文件

byte[] objFileBytes, File objFile 

Solutions Collecting From Web of "在Java中写入byte 到File"

File对象不包含文件的内容。 它只是指向硬盘驱动器(或其他存储介质,如SSD,USB驱动器,networking共享)上的文件的指针。 所以我想你想要的是写入硬盘。

您必须使用Java API中的某些类编写文件

 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(yourFile)); bos.write(fileBytes); bos.flush(); bos.close(); 

您也可以使用Writer而不是OutputStream。 使用一个作家将允许你写文本(string,字符[])。

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

但这是毫无意义的。 请说明你想达到的目标。

请参阅如何在Android中呈现PDF 。 看起来您可能没有任何select,除了将内容保存到SD文件(临时)以便能够在PDF查看器中显示它。