Java-библиотека общих команд Unix (в частности, дд)? - PullRequest
1 голос
/ 05 июля 2011

Мне нужно использовать команду dd для блокировки некоторых файлов, и я бы предпочел сделать это без вызова через оболочку.

Есть ли уже написанная библиотека классов, или я должен свернуть свой собственный разблокировщик блокировщиков?

В основном эквивалентно переходу:

dd if=foo.log of=fooblocked.log cbs=79 conv=block

1 Ответ

1 голос
/ 05 июля 2011

Runtime.getRuntime().exec() выполняет команду, переданную в оболочке (командная строка в Windows), по умолчанию оболочка соответствует рабочему каталогу программ.

try {
     Process p = Runtime.getRuntime().exec("ls -l");
     BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
     String str = br.readLine();
     while(str!=null) {
         System.out.println(str);
         str=br.readLine();
     }
}

Если вам нужна программа, чтобы дождаться завершения команды, вы можете использовать p.waitFor().

...