0
我寫了一個提取文件的shell腳本文件,請參閱下文。如何從Java類執行shell腳本程序文件
文件名: unzip.sh
#/bin/sh
cd /home/zip;
UNZIPDIR=/home/unzip/;
for i in *.zip; do
unzip "$i" -d "$UNZIPDIR"
rm "$i";
done;
這個shell腳本執行sucessfuly上膩子,
$> ./zip.sh
因爲我想從我的java類執行這個腳本的時候,我嘗試了好幾種調用/執行shell腳本文件的方法,但它不執行。請參閱下面的java代碼。
//First try
File executorDirectory = new File("/home/zip");
ProcessBuilder processBuilder = new ProcessBuilder("./unzip.sh");
processBuilder.directory(executorDirectory);
Process p = processBuilder.start();
p.waitFor()
//Second try
Process p = Runtime.getRuntime().exec("/home/zip/unzip.sh");
您使用Java 7+,對吧?如果是,爲什麼不使用FileSystem API而不是依賴外部腳本? – fge 2014-10-16 11:31:08
從進程中讀取stdStream&ErrorStream。 – Yazan 2014-10-16 11:36:06
拋出的任何異常? – 2014-10-16 11:42:21