I think of using in windows a named pipe to communicate between two apps written in Java and C. Normally i use socket connection to do this, but now i have to cancel this idea a
You can simply start an external process in Java and connect to it's pipes.
// Execute command
String command = "ls";
Process child = Runtime.getRuntime().exec(command);
// Get pipes from process
InputStream in = child.getInputStream();
OutputStream out = child.getOutputStream();
InputStream error = child.getErrorStream();