Java中的ProcessBuilder

Java中的ProcessBuilder,java,processbuilder,7zip,Java,Processbuilder,7zip,我在本页中研究了这个主题,但我找不到解决方案,我如何使用ProcessBuilder在cmd中执行程序?我想使用命令行压缩、打开、删除一个7zip文件。 我将此代码作为示例,但不起作用,cmd启动但不创建压缩文件: String[] commands= {"cmd.exe", "7za", "a", "-t7z", "test.7z", "Test.txt", "/C", "start"}; ProcessBuilder pb = new ProcessBuilder(commands);

我在本页中研究了这个主题,但我找不到解决方案,我如何使用ProcessBuilder在cmd中执行程序?我想使用命令行压缩、打开、删除一个7zip文件。 我将此代码作为示例,但不起作用,cmd启动但不创建压缩文件:

String[] commands=
   {"cmd.exe", "7za", "a", "-t7z", "test.7z", "Test.txt", "/C", "start"};
ProcessBuilder pb = new ProcessBuilder(commands); 

Java中有一点问题(start()缺失),7za中有一点问题(命令行混乱)

仅当7za在您的路径中时,此命令才起作用

如果没有,则必须在Windows下指定其路径:

new ProcessBuilder(
   "C:/Program Files/7-Zip/7za.exe", "a", "-t7z", "test.7z", "Test.txt").start();
七个zip帮助:

7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  ...
<Switches>
  ...
  -t{Type}: Set type of archive
7-Zip(A)9.20版权所有(c)1999-2010伊戈尔·巴甫洛夫2010-11-18
用法:7za[…][…]
[]
a:将文件添加到存档
...
...
-t{Type}:设置存档的类型

我发现:无法运行程序“7za”:CreateProcess error=2,El-sistema no puede Encentral El archivo特别是如果您在windows下,路径可能是windows上的C:\program Files\7-Zip\7z.exe,只有Cmd.exe需要\,C中的fopen()或Java中的ProcessBuilder可以使用/
7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  ...
<Switches>
  ...
  -t{Type}: Set type of archive