亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

如何在java中解壓zip和rar文件

時間:2024-11-02 07:01:54 SUN認證 我要投稿
  • 相關推薦

如何在java中解壓zip和rar文件

  為了方便廣大的程序員朋友,下面講一講如何在java中實現對zip和rar文件的解壓,一起和小編來看看吧!

  一、解壓rar文件。

  由于WinRAR 是共享軟件,并不是開源的,所以解壓rar文件的前提是系統已經安裝了winrar,比如本人的安裝路徑是:

  C:\\Program Files\\WinRAR\\winrar.exe

  然后運用java.lang.Process 的相關知識來運行系統命令行來實現解壓的。

  winrar 命令行相關參數自己可以搜索下的網上資料很多

  具體代碼:

  Java代碼

  **

  * 解壓rar文件(需要系統安裝Winrar 軟件)

  * @author Michael sun

  */

  public class UnRarFile {

  /**

  * 解壓rar文件

  *

  * @param targetPath

  * @param absolutePath

  */

  public void unRarFile(String targetPath, String absolutePath) {

  try {

  // 系統安裝winrar的路徑

  String cmd = "C:\\Program Files\\WinRAR\\winrar.exe";

  String unrarCmd = cmd + " x -r -p- -o+ " + absolutePath + " "

  + targetPath;

  Runtime rt = Runtime.getRuntime();

  Process pre = rt.exec(unrarCmd);

  InputStreamReader isr = new InputStreamReader(pre.getInputStream());

  BufferedReader bf = new BufferedReader(isr);

  String line = null;

  while ((line = bf.readLine()) != null) {

  line = line.trim();

  if ("".equals(line)) {

  continue;

  }

  System.out.println(line);

  }

  bf.close();

  } catch (Exception e) {

  System.out.println("解壓發生異常");

  }

  }

  /**

  * @param args

  */

  public static void main(String[] args) {

  String targetPath = "D:\\test\\unrar\\";

  String rarFilePath = "D:\\test\\test.rar";

  UnRarFile unrar = new UnRarFile();

  unrar.unRarFile(targetPath, rarFilePath);

  }

  }

  二、解壓zip文件

  由于zip是免費的,所以在jdk里提供了相應的類對zip文件的實現:

  java.util.zip.*,詳細情況可以參考java API

  Java代碼

  /**

  * 解壓zip文件

  * @author Michael sun

  */

  public class UnzipFile {

  /**

  * 解壓zip文件

  *

  * @param targetPath

  * @param zipFilePath

  */

  public void unzipFile(String targetPath, String zipFilePath) {

  try {

  File zipFile = new File(zipFilePath);

  InputStream is = new FileInputStream(zipFile);

  ZipInputStream zis = new ZipInputStream(is);

  ZipEntry entry = null;

  System.out.println("開始解壓:" + zipFile.getName() + "...");

  while ((entry = zis.getNextEntry()) != null) {

  String zipPath = entry.getName();

  try {

  if (entry.isDirectory()) {

  File zipFolder = new File(targetPath + File.separator

  + zipPath);

  if (!zipFolder.exists()) {

  zipFolder.mkdirs();

  }

  } else {

  File file = new File(targetPath + File.separator

  + zipPath);

  if (!file.exists()) {

  File pathDir = file.getParentFile();

  pathDir.mkdirs();

  file.createNewFile();

  }

  FileOutputStream fos = new FileOutputStream(file);

  int bread;

  while ((bread = zis.read()) != -1) {

  fos.write(bread);

  }

  fos.close();

  }

  System.out.println("成功解壓:" + zipPath);

  } catch (Exception e) {

  System.out.println("解壓" + zipPath + "失敗");

  continue;

  }

  }

  zis.close();

  is.close();

  System.out.println("解壓結束");

  } catch (Exception e) {

  e.printStackTrace();

  }

  }

  /**

  * @param args

  */

  public static void main(String[] args) {

  String targetPath = "D:\\test\\unzip";

  String zipFile = "D:\\test\\test.zip";

  UnzipFile unzip = new UnzipFile();

  unzip.unzipFile(targetPath, zipFile);

  }

  }

【如何在java中解壓zip和rar文件】相關文章:

Java文件解壓縮示例08-21

Java文件解壓縮實例詳解201607-26

flash源文件中fla文件和swf文件有什么區別07-27

關于Java中Queue和BlockingQueue的區別07-23

如何在dos命令下執行PHP文件09-18

JAVA和.NET開發過程中的區別10-25

在java中Synchronized的用法10-15

Android XML文件中的08-31

如何在word中畫圖10-13

Java和PHP的區別08-21

主站蜘蛛池模板: 麻豆人妻| 德钦县| 国产成人av乱码在线观看| 欧美性大战久久久久久| 国产极品粉嫩| 男人一边吃奶一边做爰免费视频| 21AV少妇导航| 国产成人拍精品视频午夜网站| 久久婷婷五月综合97色一本一本| 亚洲国产精品无码中文字| 欧美性猛交xxxxx按摩欧美| 亚洲AV秘 无码一区二区三区一 | 亚洲午夜精品久久久久久浪潮 | 中国少妇内射xxxhd免费 | 天堂网www中文在线| 亚洲中文无码成人影院在线播放| 国产视频久久久久| 狠狠爱五月丁香亚洲综合| 国产成人精品白浆久久69| 日本黄色不卡视频| 日韩人妻一区二区三区蜜桃视频| 亚洲精品一区二区三区四区五区 | 日本成人不卡视频| 五月婷婷中文字幕| 国产成本人片无码免费2020| 欧美精品黑人粗大视频| 化德县| 伊人久久精品av一区二区| 内射爽无广熟女亚洲| 亚洲国产日韩在线观看| 国产丝袜第一页| 国产精品一国产精品| 炉霍县| 国产精品无码久久av嫩草| 天天躁狠狠躁狠狠躁性色av| 盐亭县| 九九99精品久久久久久综合| 亚欧欧美人成视频在线| 国产永久免费视频m3u8| 99久久精品国产第一页| 乱码丰满人妻一二三区|