从ByteArrayOutputStream创建文件

Al *_*aba 64 java io file-io file bytearrayoutputstream

如果我只有一个,有人可以解释我如何获取文件对象ByteArrayOutputStream.如何从ByteArrayOutputStream?创建文件?

Sur*_*tta 118

您可以使用a FileOutputStreamwriteTo方法来完成.

ByteArrayOutputStream byteArrayOutputStream = getByteStreamMethod();
try(OutputStream outputStream = new FileOutputStream("thefilename")) {
    byteArrayOutputStream.writeTo(outputStream);
}
Run Code Online (Sandbox Code Playgroud)

来源:"用Java中的ByteArrayOutputStream创建文件." 关于代码发明

  • 然后关闭它. (18认同)
  • 或者使用java 7尝试使用资源语句来彻底摆脱最终阻止;)http://stackoverflow.com/questions/2016299/does-java-have-a-using-statement (6认同)

JRE*_*REN 26

您可以使用FileOutputStream.

FileOutputStream fos = null;
try {
    fos = new FileOutputStream(new File("myFile")); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream();

    // Put data in your baos

    baos.writeTo(fos);
} catch(IOException ioe) {
    // Handle exception here
    ioe.printStackTrace();
} finally {
    fos.close();
}
Run Code Online (Sandbox Code Playgroud)

  • 您的代码不适用于`try`块中的`fos`.另外,不需要`new File()`. (10认同)
  • 幸好他添加了“new File()”。读者更容易知道有一个可用的 File 构造函数。 (2认同)