ProcessBuilder pb = new ProcessBuilder("pwd");
pb.directory(new File("/server1/work/uz/rt/adapt/0/"));
Process s = pb.start();
Я ожидал, что результат будет /server1/work/uz/rt/adapt/0/
, но вместо этого:
/work/uz/rt/adapt/0/
/work/uz/rt/adapt/0/
и /server1/work/uz/rt/adapt/0/
эквивалентны (смонтированы в одном месте, / work / .. - правильный путь и / server1 / work / .. - смонтированный), но мне нужно работать под /server1/work/uz/rt/adapt/0/
потому что некоторые другие серверы работают только по этому пути.
Как мне сделать /server1/work/uz/rt/adapt/0/
текущим путем?
В ДРУГИХ СЛОВАХ
почему публичный каталог ProcessBuilder (Файловый каталог)
преобразует каталог в канонический файл. Как я могу использовать абсолютный путь к файлу ??
Я тоже пробовал взломать soln '
pb.directory(new File("/asr1/work/oguz/rt/adaptMLLR2/0/"){
public File getCanonicalFile(){
return this.getAbsoluteFile();
}
public String getCanonicalPath() {
return this.getAbsolutePath();
}
});
, который тоже не работал.
Я решил свою проблему, добавив строку cd / server1 / .. в скрипт bash .. и удалив строку pd.directory (..). НО эта проблема (почему я не могу использовать pd.directory (..) с absolutePath) еще не решена ... ???