По какой-то причине всякий раз, когда я выполняю Graphviz dot с помощью Java Runtime.getRuntime().exec() двумя разными способами (один повторяет ввод, другой передает имя файла) - работает только эхо. >
Например. это не работает (генерирует 0 байт)
Runtime.getRuntime().exec(new String[]{"bash", "-c", "dot -Tsvg FILE_NAME.dot"});
Но это так:
Runtime.getRuntime().exec(new String[]{"bash", "-c", "echo 'digraph { A -> B }' | dot -Tsvg"});
вот остальная часть моего кода:
Process process = Runtime.getRuntime().exec(new String[]{"bash", "-c", "echo 'digraph { A -> B }' | dot -Tsvg"});
InputStream inputStream = process.getInputStream();
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
OutputStream outputStream = new FileOutputStream("out.txt");
byte[] buffer = new byte[8 * 1024];
int bytesRead;
while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
IOUtils.closeQuietly(bufferedInputStream);
IOUtils.closeQuietly(outputStream);
Подробнее здесь: https://stackoverflow.com/questions/787 ... nd-passing
Вызов точечного процесса GraphViz с использованием Javas Runtime.getRuntime().exec() и передача имени файла не работает, ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Невозможно выполнить команды в Android - runtime.getRuntime (). Exec ()
Anonymous » » в форуме Android - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-