「java解压代码」java代码压缩

博主:adminadmin 2022-11-22 20:05:05 55

本篇文章给大家谈谈java解压代码,以及java代码压缩对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用java代码调用解压工具去解压.exe文件

再 windows下通过 cmd命令执行解压缩没问题,但是通过 java代码去执行不能解压是为什么?我在开始运行中输入命令: cmd/ c rar. exe x- y d:\\ auto. rar d:\\----上面命令可以解压成功,但是通过下面 java代码不能实现解压缩功能,请指点。主要代码: java. lang. Runtime. getRuntime(). exec(" cmd/ c rar. exe x- y d:\\ auto. rar d:\\");

再 windows下通过 cmd命令执行解压缩没问题,但是通过 java代码去执行不能解压是为什么?我在开始运行中输入命令: cmd/ c rar. exe x- y d:\\ auto. rar d:\\----上面命令可以解压成功,但是通过下面 java代码不能实现解压缩功能,请指点。主要代码: java. lang. Runtime. getRuntime(). exec(" cmd/ c rar. exe x- y d:\\ auto. rar d:\\");

java 解压rar文件

Java 解压rar文件需要用到apache的commons-compress-1.0.jar,这个类的使用如下:

package cn.myapps.util.pdf;

import java.io.File;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.util.Enumeration;

import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;

import org.apache.commons.compress.archivers.zip.ZipFile;

public class UnzipFile {

public static void main(String[] args) {

 try {

  UnzipFile.unZip(new File("D:/你我他.zip"), "D:/upzip/");

 } catch (Exception e) {

  e.printStackTrace();

 }

}

public static void unZip(File zip, String root) throws Exception {

 try {

  ZipFile zipFile = new ZipFile(zip, "GBK");

  Enumeration e = zipFile.getEntries();

  byte ch[] = new byte[256];

  while (e.hasMoreElements()) {

   ZipArchiveEntry zipEntry = (ZipArchiveEntry) e.nextElement();

   String temp = zipEntry.getName();

   System.out.println("unziping " + zipEntry.getName());

   File zfile = new File(root + temp);

   File fpath = new File(zfile.getParentFile().getPath());

   if (zipEntry.isDirectory()) {

    if (!zfile.exists())

     zfile.mkdirs();

   } else {

    if (!fpath.exists())

     fpath.mkdirs();

    FileOutputStream fouts = new FileOutputStream(zfile);

    InputStream in = zipFile.getInputStream(zipEntry);

    int i;

    while ((i = in.read(ch)) != -1)

     fouts.write(ch, 0, i);

    fouts.close();

    in.close();

   }

  }

 } catch (Exception e) {

  System.err.println("Exception from ZipUtil - unZip() : "

    + e.getMessage());

  e.printStackTrace(System.err);

  throw e;

 }

}

}

java中怎么解压rar文件 到指定文件目录中

1.代码如下:

[java] view plain copy

span style="font-size:18px;background-color: rgb(204, 204, 204);"package cn.gov.csrc.base.util;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

/**

* 将文件夹下面的文件

* 打包成zip压缩文件

*

* @author admin

*

*/

public final class FileToZip {

private FileToZip(){}

/**

* 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下

* @param sourceFilePath :待压缩的文件路径

* @param zipFilePath :压缩后存放路径

* @param fileName :压缩后文件的名称

* @return

*/

public static boolean fileToZip(String sourceFilePath,String zipFilePath,String fileName){

boolean flag = false;

File sourceFile = new File(sourceFilePath);

FileInputStream fis = null;

BufferedInputStream bis = null;

FileOutputStream fos = null;

ZipOutputStream zos = null;

if(sourceFile.exists() == false){

System.out.println("待压缩的文件目录:"+sourceFilePath+"不存在.");

}else{

try {

File zipFile = new File(zipFilePath + "/" + fileName +".zip");

if(zipFile.exists()){

System.out.println(zipFilePath + "目录下存在名字为:" + fileName +".zip" +"打包文件.");

}else{

File[] sourceFiles = sourceFile.listFiles();

if(null == sourceFiles || sourceFiles.length1){

System.out.println("待压缩的文件目录:" + sourceFilePath + "里面不存在文件,无需压缩.");

}else{

fos = new FileOutputStream(zipFile);

zos = new ZipOutputStream(new BufferedOutputStream(fos));

byte[] bufs = new byte[1024*10];

for(int i=0;isourceFiles.length;i++){

//创建ZIP实体,并添加进压缩包

ZipEntry zipEntry = new ZipEntry(sourceFiles[i].getName());

zos.putNextEntry(zipEntry);

//读取待压缩的文件并写进压缩包里

fis = new FileInputStream(sourceFiles[i]);

bis = new BufferedInputStream(fis, 1024*10);

int read = 0;

while((read=bis.read(bufs, 0, 1024*10)) != -1){

zos.write(bufs,0,read);

}

}

flag = true;

}

}

} catch (FileNotFoundException e) {

e.printStackTrace();

throw new RuntimeException(e);

} catch (IOException e) {

e.printStackTrace();

throw new RuntimeException(e);

} finally{

//关闭流

try {

if(null != bis) bis.close();

if(null != zos) zos.close();

} catch (IOException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

}

return flag;

}

public static void main(String[] args){

String sourceFilePath = "D:\\TestFile";

String zipFilePath = "D:\\tmp";

String fileName = "12700153file";

boolean flag = FileToZip.fileToZip(sourceFilePath, zipFilePath, fileName);

if(flag){

System.out.println("文件打包成功!");

}else{

System.out.println("文件打包失败!");

}

}

}

/span

2.结果如下:

文件打包成功!

3.到D:/tmp下查看,你会发现生成了一个zip压缩包.

解压文件的JAVA程序问题

确认123目录是否在压缩文件下,即目录是否已压缩,若没有压缩,需要人为指定123目录,即outfile = new File("d:"+File.separator+entry.getName());

需改为outfile = new File("d:\\123"+File.separator+entry.getName());

你应该是这种情况,下面情况供参考

若文件夹已压缩在压缩文件,你创建文件夹时需要使用outfile.mkdir();或outfile.mkdirs();

否则会将123创建成d盘一个无扩展名的文件

java解压代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码压缩、java解压代码的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。