Sort of:
Process process = new ProcessBuilder("neato", "-Tplain").start();
OutputStream osToProcess = process.getOutputStream();
PrintWriter pwToProcess = new PrintWriter(osToProcess);
pwToProcess.write("graph G { node1 -- node2; }");
pwToProcess.close();
InputStream isFromProcess = process.getInputStream();
BufferedReader brFromProcess = new BufferedReader(isFromProcess);
brFromProcess.close();
process.waitFor();
I skipped the exception handling of this sample code - you will need to enter it according to your requirements. It is enough to wrap all this in a try / catch block - it depends on what you need.
I confirmed that I neatoread / write stdin / stdout on the command line:
$ echo 'graph G { n1 -- n2; }' | neato -Tplain
graph 1 1.3667 1.2872
node n1 0.375 0.25 0.75 0.5 n1 solid ellipse black lightgrey
node n2 0.99169 1.0372 0.75 0.5 n2 solid ellipse black lightgrey
edge n1 n2 4 0.55007 0.47348 0.63268 0.57893 0.7311 0.70457 0.81404 0.81044 solid black
stop
source
share