日期:2014-05-20  浏览次数:20698 次

java runtime执行命令行和预期结果不一致
使用java runtime执行命令。
调用7zip命令,分卷压缩/home/test下的201301文件夹为201301.zip文件,每个分卷压缩文件大小为1M。
使用下面的命令压缩得到的文件和我直接在命令窗口执行语句得到的压缩文件不一致,下面程序得到的文件没压缩完整,有部分子目录不在压缩包内。
求指教。程序未抛出异常

private static final class CompressThread extends Thread {
public void run(){
try {
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("/bin/bash", null, new File("/bin"));
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(process.getOutputStream())), true);
out.println("cd /home/test");
out.println("7za a 201301.zip 201301 -v1m");
String line;
  while ((line = in.readLine()) != null) {
     System.out.println(line);
  }
        process.waitFor();
        in.close();
        out.close();
        process.destroy();
} catch (Exception e) {
e.printStackTrace();
}
}
}

------解决方案--------------------
马甲接分结贴。。。