publicclassPipeExample{ publicstaticvoidmain(String[] args)throws IOException { PipedOutputStream pos = new PipedOutputStream(); PipedInputStream pis = new PipedInputStream(pos);
Thread readerThread = new Thread(() -> { try { int data; while ((data = pis.read()) != -1) { System.out.print((char) data); } pis.close(); } catch (IOException e) { e.printStackTrace(); } });
writerThread.start(); readerThread.start(); } }
2)套接字
import java.io.*; import java.net.*;
publicclassSocketExample{ publicstaticvoidmain(String[] args){ try { ServerSocket serverSocket = new ServerSocket(9999); Socket clientSocket = serverSocket.accept(); BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); String message = in.readLine(); System.out.println("Received from client: " + message);
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); out.println("Hello from server"); } catch (IOException e) { e.printStackTrace(); } } }
客户端
import java.io.*; import java.net.*;
publicclassSocketClientExample{ publicstaticvoidmain(String[] args){ try { Socket socket = new Socket("localhost", 9999); PrintWriter out = new PrintWriter(socket.getOutputStream(), true); out.println("Hello from client");
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); String response = in.readLine(); System.out.println("Received from server: " + response); } catch (IOException e) { e.printStackTrace(); } } }