我正在與ProcessBuilder人員苦苦掙扎!我想運行該工具'nativetoascii'。我可以在命令行上運行它,也可以通過Runtime.exec()運行,沒有任何問題。無法運行ProcessBuilder
我的代碼是:
'
String command = "\"C:\\Program Files (x86)\\Java\\jdk1.6.0_32\\bin\\native2ascii\"";
String encoding = " -encoding ";
String utf8 = "UTF8 ";
String inputFile = "C:\\Users\\joe\\Desktop\\resources\\encoding\\orig.properties ";
String outputFile ="C:\\Users\\joe\\Desktop\\resources\\encoding\\convertedViaProcessBuilder.properties";
List<String> commandArgs = new ArrayList<String>();
commandArgs.add(command);
commandArgs.add(encoding);
commandArgs.add(utf8);
commandArgs.add(inputFile);
commandArgs.add(outputFile);
ProcessBuilder builder = new ProcessBuilder(commandArgs);
Process p = builder.start();
p.waitFor();
我也寫代碼來讀取過程的輸出,它說:
Usage: native2ascii [-reverse] [-encoding encoding] [inputfile [outputfile]]
顯然,我做錯了與命令及其參數。誰能告訴我我做錯了什麼?謝謝。
您是否嘗試過在命令參數周圍沒有空格?由於參數已經被「解析」,我認爲你不應該在那裏有空格。 –