下载winRar工具
package com.example.demo.util;
import java.util.*;
import java.lang.Runtime.*;
import java.io.*;
public class UnRarTest {
public static void main(String[] args) throws Exception {
Scanner in = new Scanner(System.in);
System.out.println("输入你要解压的文件(包括路径,后缀)");
String filename = in.nextLine();
showList(filename);
System.out.println("从中选择你要打开的文件");
String nfilename = in.nextLine();
unRar(nfilename);
}
/* D://Program Files//WinRAR//为我的WinRAR目录* 根据自己的情况改下* 得到RAR文件目录 */
public static void showList(String compress) throws Exception {
Runtime rt = Runtime.getRuntime();
Process p = rt.exec("C://Program Files (x86)//WinRAR//UnRAR.EXE l " + compress);
InputStream fis = p.getInputStream();
// 获得子进程的输入流
BufferedReader in = new BufferedReader(new InputStreamReader((fis), "GBK"));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
fis.close();
} /* * 显示你要打开的文件内容 */
public static void unRar(String ncompress) throws Exception {
Runtime rt = Runtime.getRuntime();
Process p = rt.exec("C://Program Files (x86)//WinRAR//UnRAR.EXE e -o+ -p- " + ncompress);
// 将指定的压缩文件解压到D:/Program Files/WinRAR/目录下
BufferedReader in = new BufferedReader(new FileReader("C://Program Files (x86)//WinRAR//" + ncompress));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
}
}