`

java 解压缩文件

    博客分类:
  • java
阅读更多
/**
* http远程请求,获取csv数据
* httpCsvZipPath:原网站zip路径
* localZipPath:下载到本地zip路径
* localUnZipPath:解压后unzip路径
*/
public static boolean httpInvokeGetFile(String httpCsvZipPath,String localZipPath){
File zipOutFile = null;
//zip文件输出路径
zipOutFile = getFilePath(localZipPath);
//http 获取远程url 内容
try {
URL url = new URL(httpCsvZipPath);
InputStream ins = url.openConnection().getInputStream();
FileOutputStream fos = new FileOutputStream(zipOutFile,false);
byte[] b = new byte[1024];
int c;
if (ins != null) {
//删除文件(不用删除,直接覆盖)
//deleteTempIndexPathFile(rootPath);
//
ins.available(); //非常重要,本地可以不需要,linux上必须。

while((c=ins.read(b)) != -1){
fos.write(b,0,c);
}
} else {
logger.info("no content"+url);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
}
return true;

}
/**
* zip解压包括一个文件

* @param zipFilePath 被解压zip文件路径
* @param unzipFilePath  解压后文件路径

*/
public static boolean unZipOneFile(String zipFilePath,String unzipFilePath) {
OutputStream out = null;
ZipInputStream in = null;
try {
File zipFile = getFilePath(zipFilePath);
File unzipFile = getFilePath(unzipFilePath);

in = new ZipInputStream(new FileInputStream(zipFile));
out = new FileOutputStream(unzipFile);
ZipEntry dataLine = in.getNextEntry();
byte[] buf = new byte[1024];
if(dataLine != null){//可以适当加个判断,行是否取完为空.
int i = 0;
while ((i = in.read(buf)) > 0){
out.write(buf, 0, i);
}
}
} catch (Exception e) {
logger.info("java zip err==>"+e.getMessage());
e.printStackTrace();
return false;
} finally {
try {
in.close();
out.close();
} catch (Exception e) {
// TODO: handle exception
}
}
return true;
}
/**
   * 解压缩(包括多个文件)

   * @param zipfile File 需要解压缩的文件

   * @param descDir String 解压后的目标目录
   */
@SuppressWarnings("unchecked")
public static void unZipMoreFiles(String zipfilePath, String descDir) {
  try {
    File fileDir = new File(descDir);
    if (!fileDir.exists()) {
    fileDir.mkdirs();
}
            ZipFile zf=new ZipFile(zipfilePath);
            for(Enumeration entries=zf.entries();entries.hasMoreElements();){
                ZipEntry entry=(ZipEntry) entries.nextElement();
                String zipEntryName=entry.getName();
                InputStream in=zf.getInputStream(entry);

File file = new File(descDir+zipEntryName);
if (entry.isDirectory()) {
if (!file.exists()) {
file.mkdirs();
}
continue;
} else {
file.createNewFile();
}
                OutputStream out=new FileOutputStream(file);
                byte[] buf1=new byte[1024];
                int len;
                while((len=in.read(buf1))>0){
                    out.write(buf1,0,len);
                }
                in.close();
                out.close();
                System.out.println("解压缩完成.");
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}
分享到:
评论

相关推荐

    java解压缩文件

    Java解压缩文件是Java开发中常见的一项操作,特别是在处理数据传输、软件安装包或资源包时。本篇文章将深入探讨如何使用Java进行文件的解压缩,以及相关工具和源码的使用。 首先,Java标准库提供了`java.util.zip`...

    Java解压缩文件,尤其对于Rar5.0版本的解压实现.zip

    沙漏哦2022-09-16 16:00:57原证Java解压缩文件,尤其对于Rar5.0版本的解压实现 项目描述 junrar已经不再支持Rar5版本的压缩文件。sevenzipjbinding对于Rar5压缩包的解压是调用本地7z软件进行解压的,如果本机环境...

    java解压缩文件支持中文

    java解压缩文件支持中文,经过测试,可执行,项目中正在应用

    java 解压缩文件的实现示例,支持 rar 和 zip 格式

    java 解压缩文件的实现示例,支持 rar 和 zip 格式

    java解压缩文件文件夹

    在Java编程语言中,处理文件压缩与解压缩是常见的任务,尤其在数据传输、存储优化或者备份场景下。本文将详细讲解如何使用Java实现文件和文件夹的压缩以及解压缩功能。 首先,Java标准库提供了`java.util.zip`包,...

    JAVA文件压缩与解压缩实践(源代码+论文)

    在Java编程语言中,文件的压缩与解压缩是常见的数据处理操作,特别是在数据传输、存储优化和备份场景中。本实践项目围绕这个主题展开,包括源代码和相关的论文,为学习者提供了深入理解和应用Java压缩库的机会。以下...

    java 解压缩zip文件

    在Java编程语言中,解压缩ZIP文件是一项常见的任务,特别是在处理数据传输、文件打包和部署等场景下。本文将深入探讨如何使用Java API来解压缩ZIP文件,包括基本概念、核心类库以及具体实现步骤。 ZIP文件是一种...

    java自动解压缩文件

    Java自动解压缩文件是编程领域中的一个重要话题,尤其是在服务器端应用中,经常需要处理上传的压缩文件并进行解压操作。Java提供了丰富的API来支持这一功能,主要涉及到`java.util.zip`包中的类,如`ZipInputStream`...

    JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码.zip

    3. **解压缩文件** 解压ZIP文件则需要一个`ZipInputStream`实例,它包装在一个`FileInputStream`中,指向ZIP文件。通过调用`getNextEntry`方法,你可以逐个访问ZIP文件中的每个条目,然后创建相应的文件或目录,将...

    (Java毕业设计)JAVA文件压缩与解压缩实践(源代码+).rar

    (Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业设计)JAVA文件压缩与解压缩实践(Java毕业...

    java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip

    java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文)....

    JAVA文件压缩与解压缩实践(源代码).zip

    JAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩...

    JAVA文件压缩与解压缩实践(源代码+论文).rar

    JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件压缩与解压缩实践(源代码+论文) JAVA文件...

Global site tag (gtag.js) - Google Analytics