* @throws IOException
public InputStream unZip(InputStream in,String fileName) throws IOException {
ZipInputStream zipIn = new ZipInputStream(in);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] bytes = new byte[1024];
ZipEntry zipEntry =null;
while((zipEntry=zipIn.getNextEntry())!=null){
if(zipEntry.getName().equals(fileName)) {
while(true){
int len = zipIn.read(bytes);
if (len <= 0) {
break;
bos.write(bytes);
bos.flush();
bos.close();
InputStream bis = new ByteArrayInputStream(bos.toByteArray());
bos.close();
zipIn.closeEntry();
zipIn.close();
return bis;
在有些时候我们需要将zip包下的某个entry转换为inputstream流方便处理。贴下代码,/** * 解压zip获取zip下的某个文件流 * @param in zip对应的输入流 * @param fileName zip下某个文件名 * @return zip下文件对应输入流 * @throws IOException */ public InputStream unZip(InputStream in,String fi
InputStream
中取出需要的文件
InputStream
InputStream
转换
为
Zip
InputStream
,并且取出
zip
包中自己需要文件,最后
转
为
InputStream
public
InputStream
InputStream
Handle(
InputStream
inputStream
) throws IOException {
//实例化一个
Zip
压缩文件的
Zip
InputStream
对象,可以利用该类的getNext
Entry
()方法依次拿到每一个
Zip
Entry
对
*
entry
name为压缩字符串条目,在下面只一个条目
public static byte[]
zip
Bytes(String
entry
name,String input) throws IOException {
byte[] buffer = new byte[1024];
ByteArrayOutputStream baos = new
Zip
InputStream
实现压缩文件的读取与数据
转
化对象的过程
因为项目业务需要,实现调用第三方接口获取
zip
文件(byte数组形式接收),并解析文件的数据内容,将数据
转
化为自定义的对象保存于数据库中。整个过程不需要将文件存于磁盘。
以下为笔者所实现功能的代码,首次分享,大牛勿喷,多多指教~
public void resolve
Zip
File() {
//自定义对象接收数...
import
java
.io.FileOutputStream;
import
java
.util.
zip
.
Zip
Entry
;
import
java
.util.
zip
.
Zip
InputStream
;
import
java
.util.
zip
.
Zip
OutputStre
Zip
InputStream
的基本用法:
首先要创建一个
Zip
InputStream
,通常是传入一个File
InputStream
作为数据源,然后循环调用getNext
Entry
(),当返回值为null时,表示
zip
流读取结束。
一个
Zip
Entry
表示一个压缩文件或目录,如果是压缩文件,我们就用read()方法进行读取,当返回值为-1时,读取结束。
public class Main {
public static void main(String[] args) {
在日常生活中,我们会经常遇到或使用压缩文件,压缩文件节省了空间,便利了我们日常文件的传输和使用。在
JAVA
中,也提供了相应的输入输出流来压缩和解压
zip
、g
zip
、jar和RAR这样的文件。
Zip
OutputStream:“压缩文件输出流”,用于将程序中的压缩流写出到磁盘上。这个类实现了一个用于在压缩文件格式中写入文件的输出流过滤器。包括支持压缩和解压项。
//构造方法
Zip
OutputStream(OutputStream out) //创建一个新的压缩输出流。
Zip
OutputStre
在日常中经常会使用到
zip
或rar这样的压缩文件,更加便利了我们日常文件的传输和使用。当然在
java
中
也提供了相应的输入输出流来压缩和解压g
zip
、
zip
和rar这样的文件。
Zip
InputStream
“压缩文件输入流”,用于读取磁盘上的压缩文件
Zip
OutputStream
“压缩文件输出流”,用于将程...
我们在有些时候,使用网站下载的文件,会是以流的方式接收,而还有些时候,原文件格式为压缩包文件,这时,我们再使用
InputStream
/OutputStream或者FileInutStram/FileOutputStream来接收或者解析的话,就无法打开下载后的压缩文件,那么,下载的压缩文件流(压缩包流)怎么能打开呢?
答案很简单:使用
Zip
InputStream
/FileOutputStream方式来接
首先,我们将获取到的
InputStream
流
转换
成
Zip
InputStream
然后,用
zip
Input
在读取网络文件中的文件时有可能是g
zip
tar
zip
格式的压缩文件,通常要直接通过网络读取第三方的数据,下面记录了一下使用
Zip
InputStream
中
Zip
Entry
中的txt文件
HttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost("https://
mobile/...