У меня есть приложение, которое использует 7zip для распаковки файла. Код, который я использую следующее:Java - Running 7zip
Runtime prog = Runtime.getRuntime();
Process proc = prog.exec(System.getenv("ProgramFiles").concat("\\7-Zip\\7z x " + "\""+path+"\""+ " -o"+Values.temp_path));
InputStream stderr = proc.getErrorStream();
InputStream instr = proc.getInputStream();
InputStreamReader isr = new InputStreamReader(stderr);
InputStreamReader insr = new InputStreamReader(instr);
BufferedReader br = new BufferedReader(isr);
BufferedReader br2 = new BufferedReader(insr);
String line = null;
String line2 = null;
while ((line = br.readLine()) != null & (line2 = br2.readLine()) != null){}
int exitVal = proc.waitFor();
Где путь расположения файла и TEMP_PATH место, где он будет распакован.
Хотя это отлично работает на моем компьютере, у меня есть коллеги, которые получают ошибки при запуске этого же приложения.
В моем компьютере значение переменной exitVal установлено в 0 методом waitFor. На другом компьютере я видел, что эта переменная установлена в 1 (ERROR_INVALID_FUNCTION). Приложение одинаково на обоих компьютерах, как с помощью win xp, так и с той же версией 7zip, что еще я могу пропустить?
Благодарим за помощь!
EDIT:
я нашел разницу между 2 компьютерами. В той, которая работает, установлена java 7, а у одной из них есть java 6
Почему вы не использовать 7-Zip [SDK] (HTTP: // WWW 0,7-zip.org/sdk.html)? –