对文件进行解压(压缩流操作)
来源:互联网 发布:比特币交易平台源码 编辑:程序博客网 时间:2024/06/06 03:54
import java.io.*;import java.util.*;import java.util.zip.*;public class ZipInputStreamDemo02 {public static void main(String[] args)throws Exception {//将指定路径下的文件地址赋值给文件变量file(找到指定路径下的压缩文件)File file= new File("C:\\Users\\xinle\\Desktop"+File.separator+"test.zip");File outFile=null;//用于指向将要进行输出的文件//(将文件file进行包装使其变为ZipFile类的文件)ZipFile zipFile=new ZipFile(file);//对指定路径下的文件进行包装操作,使其变为实例化的压缩文件,在程序当中创建压缩文件对应的实例化对象//新建一个文件输入流并将其进行包装使其变为一个压缩输入流用于读取压缩文件当中的数据信息ZipInputStream zipInput=new ZipInputStream(new FileInputStream(file));ZipEntry entry=null;InputStream input=null;OutputStream out=null;//通过压缩输入流来读取压缩文件当中的实体文件while((entry=zipInput.getNextEntry())!=null){System.out.println("解压缩:"+entry.getName()+"文件。");//实例化输出文件夹并将压缩文件夹当中的实体文件存放到文件夹当中,此时该文件夹(outFile)只是一个存在于程序当中的文件夹并不存在于硬盘当中outFile=new File("C:\\Users\\xinle\\Desktop"+File.separator+entry.getName());//判断当前桌面上是否有一个专门用于存放从压缩文件当中解压出来的具体文件的文件夹if(!outFile.getParentFile().exists()){//File.getParentFile是用于取得当前文件的上一层文件,当当前文件的上层目录不存在时先创建一个文件夹用于存放解压后的文件outFile.getParentFile().mkdirs();//当树春文件的父目录不存在时创建其父目录文件夹}input=zipFile.getInputStream(entry);//得到压缩文件的输入流,将指定压缩文件当中的实体数据信息写入到输入流当中//将当前被解压的实体文件当中的数据信息通过输出流写入到所创建的outFile文件当中去out=new FileOutputStream(outFile);int temp=0;//读取输入流当中的数据信息while((temp=input.read())!=-1){//将从压缩文件当中读取到的数据信息经过输出流写入到outFile文件当中去out.write(temp);}input.close();out.close();}}}
开始时将要被压缩的文件:
文件当中所含内容:
对文件进行压缩后并删除源文件,然后运行程序:
并且会在桌面发现一个和源文件一样的解压文件。
0 0
- 对文件进行解压(压缩流操作)
- 使用QuaZip对文件进行压缩解压操作
- Qt使用QuaZip对文件进行压缩解压操作
- Qt使用QuaZip对文件进行压缩解压操作
- 对文件压缩解压操作
- 哈弗曼编码对文件进行压缩解压
- 使用ICSharpCode.SharpZipLib对文件进行压缩或解压
- 使用PHP对文件进行压缩解压(zip)
- 对文件或文件夹进行压缩解压加密解密
- ZipControl对文件进行压缩与解压的方法
- 使用dcm4che3对jpeg压缩的dcm文件进行解压
- java 进行文件的压缩,解压,删除,拷贝操作
- 文件上传、压缩解压 操作
- PHP 对字符串进行压缩和解压
- 对zip压缩包进行解压
- JAVA对数据进行压缩和解压
- java对zip进行压缩和解压
- 使用C#进行文件压缩和解压
- 【BZOJ 3714】[PA2014]Kuglarz 最小生成树
- unbuntu 下进度条小程序
- java中list set map 学习
- JavaScript之选项卡
- Catch That Cow
- 对文件进行解压(压缩流操作)
- Spring的@PostConstruct标签详解
- linux进程通信IPC之共享内存的IPC_PRIVATE与ftok比较
- bzoj1002: [FJOI2007]轮状病毒
- 统计一段字符串中单词和字母各出现的次数
- 排序--(单向)冒泡排序
- 关于php缓存技术的简单总结
- 一个可以自由定制外观、支持拖拽消除的MaterialDesign风格Android BadgeView
- 文本处理总结