package com.zeusville.panovit; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; public class TestNamedPipe { /** * @param args */ public static void main(String[] args) { Thread reader = new Thread(new Read()); //Thread writer = new Thread(new Write()); reader.start(); //writer.start(); } public static class Read implements Runnable { public void run() { FileReader fr = null; try { fr = new FileReader(new File("/tmp/testpipe")); StringBuffer buf = new StringBuffer(); int i = 0; while((i = fr.read()) > -1) { //System.out.println((char)i); buf.append((char)i); if (':' == (char)i) { break; } } System.out.println(buf.toString()); quit(); } catch (IOException ioe) { ioe.printStackTrace(); } finally { try { if (fr != null) { fr.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void quit() { PrintWriter pw; try { pw = new PrintWriter(new BufferedOutputStream(new FileOutputStream("/tmp/pianobarinput"))); pw.println("q\n"); pw.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static class Write implements Runnable { public void run() { PrintWriter pw; try { pw = new PrintWriter(new BufferedOutputStream(new FileOutputStream("/tmp/testpipe"))); Random r = new Random(); for (int i=0; i < 1000; i++) { pw.println(Long.toString(Math.abs(r.nextLong()), 36)); } pw.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }