本次实验主要涉及Java输入输出和网络编程。在本实验中,我们熟悉了Java输入输出和网络编程的基本原理和操作。
在Java中,输入输出和网络通信都是通过IO操作来实现的。我们主要使用了BufferedReader、InputStreamReader、PrintWriter、Socket等类。下面是实现读取文件并输出的代码:
try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt"))); PrintWriter pw = new PrintWriter(new FileOutputStream("output.txt")); String line; while ((line = br.readLine()) != null) { pw.println(line); } br.close(); pw.close(); } catch (IOException e) { e.printStackTrace(); }
接下来我们实现了客户端和服务器之间基本的通信。客户端通过Socket对象连接服务器,并通过PrintWriter向服务器发送消息。服务器也使用Socket对象接收客户端发来的消息,然后通过PrintWriter将消息输出到客户端。下面是简单的代码实现:
// 服务器代码 try { ServerSocket serverSocket = new ServerSocket(9999); Socket socket = serverSocket.accept(); BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter pw = new PrintWriter(socket.getOutputStream()); String line; while ((line = br.readLine()) != null) { pw.println(line); pw.flush(); } br.close(); pw.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } // 客户端代码 try { Socket socket = new Socket("localhost", 9999); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter out = new PrintWriter(socket.getOutputStream()); out.println("Hello world!"); out.flush(); String line = in.readLine(); System.out.println("服务器返回:" + line); in.close(); out.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); }
通过本次实验,我们更加深入地理解了Java输入输出和网络编程的基本原理和操作,并通过实际代码实现对其的应用。