java exec试图解压缩文件

时间:2015-12-14 21:23:15

标签: java tar runtime.exec

我一直在尝试解压缩.tbz文件而在Java应用程序中没有取得多大成功。我现在决定尝试点击命令行来完成工作,它目前还没有完成任何错误,但它也没有解压缩文件。任何人都可以看到这个问题吗?

    String[] cmd = { "tar", "-xjf", "/var/tmp/filename.tbz"};

    Process p =Runtime.getRuntime().exec(cmd, null);

编辑,这有效:

    List<String> commands = new ArrayList<String>();
    commands.add("tar");
    commands.add("-xvjf");
    commands.add("/var/tmp/filename.tbz");

    ProcessBuilder pb = new ProcessBuilder(commands);
    Process p = pb.start();
    BufferedReader reader = new BufferedReader(new InputStreamReader(
            p.getInputStream()));
    String readline;
    while ((readline = reader.readLine()) != null) {
        System.out.println(readline);
    }

1 个答案:

答案 0 :(得分:1)

什么是cd命令在中间做什么?也许你的意思是:

String[] cmd = { "tar", "-xjf", "/var/tmp/filename.tbz"};

如果不是上述内容,您真的想要这样做:

cd /var/tmp
tar -xjf filename.tbz

在这种情况下,您可以使用ProcessBuilder