Я пытаюсь запустить команду OSX, которая является plutil для преобразования определенного формата plist в json. Команда, которую я использую в терминалеJava Runtime Exec с белыми пробелами в пути Имя
plutil -convert json -o - '/Users/chris/project/temp tutoral/project.plist'
Эта команду с именем пути, имеющими белый интервалом отлично работает в моем терминале с апострофом (") знаком покрытия имени пути, но проблема с выполнением этой команды в в Java Runtime.getRuntime().exec(cmdStr)
ниже приведен код, который я написал
public static void main(String args[]){
LinkedList<String> output = new LinkedList<String>();
String cmdStr = "plutil -convert json -o - /Users/chris/project/temp tutoral/project.plist";
//String cmdStr = " plutil -convert json -o - '/Users/chris/project/temp tutoral/project.plist'";
//String [] cmdStr ={ "plutil -convert json -o - ", "\"Users/chris/project/temp tutoral/project.plist\""};
Process p;
try {
p = Runtime.getRuntime().exec(cmdStr);
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
output.add(line);
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
Если я запускаю этот код он даст мне ошибку
'Users/chris/project/temp: file does not exist or is not readable or is not a regular file (Error Domain=NSCocoaErrorDomain Code=260 "The file “temp” couldn’t be opened because there is no such file." UserInfo=0x7fd6b1c01510 {NSFilePath='Users/chris/project/temp, NSUnderlyingError=0x7fd6b1c01280 "The operation couldn’t be completed. No such file or directory"})
tutoral/project.plist': file does not exist or is not readable or is not a regular file (Error Domain=NSCocoaErrorDomain Code=260 "The file “project.plist” couldn’t be opened because there is no such file." UserInfo=0x7fd6b1d6dd00 {NSFilePath=tutoral/project.plist', NSUnderlyingError=0x7fd6b1d6c6b0 "The operation couldn’t be completed. No such file or directory"})
Я также пробовал,
- положить в апостроф в командной строке
- меняющегося команду в строке массива, как предложено мои несколько сайтов
, но не из них работали.
Прошу совета, если я сделал что-то неправильно при организации моей команды или любой синтаксической ошибки, которую я сделал. Заранее спасибо.
Наверное, не то, что здесь происходит, но, может быть, факт, что «учебник» опечатан? Возможно, папка написана по-разному. – Arc676
Не проблема в том, что пространство делает компьютерным, что они представляют собой два разных пути. И поскольку этот путь не существует, появляется ошибка. – bmarkham
Привет @ Arc676 и я могу изменить имя, когда я задаю этот вопрос, возможно, пропустил несколько вещей, но это не проблема. Haha – Chris