繁体   English   中英

如何使用字节数组作为参数构建FileInputStream对象

[英]How to build FileInputStream object with byte array as a parameter

我有一个zip文件,解码后我得到一个字节数组现在我想用byte []对象创建一个FileInputStream对象。 我不想创建文件而是传递数据内容做FileInputStream。 有什么办法吗?

以下是代码:

byte[] decodedHeaderFileZip = decodeHeaderZipFile(headerExportFile);
FileInputStream fileInputStream = new FileInputStream(decodedHeaderZipFileString);

编辑:我想用FileInputStream构建一个ZipInputStream对象。

我有一个zip文件,解码后我得到一个字节数组现在我想用byte []对象创建一个FileInputStream对象。

但是你没有文件。 你的内存中有一些数据。 所以FileInputStream是不合适的 - 没有文件供它读取。

如果可能,请使用ByteArrayInputStream

InputStream input = new ByteArrayInputStream(decodedHeaderFileZip);

在可能的情况下,使用InputStreamReader等表达您的API而不是任何特定的实现 - 这使您可以灵活地使用您的实现。 (我的意思是,尽可能使用方法参数和返回类型InputStream而不是FileInputStream - 这样调用者就不需要提供特定的类型。)

如果您必须创建FileInputStream ,则需要先将数据写入文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM