Java基础知识强化之网络编程笔记09:TCP之客户端键盘录入服务器写到文本文件中

1. TCP之客户端键盘录入服务器写到文本文件中

(1)客户端:

 1 package cn.itcast_09;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.IOException;
 6 import java.io.InputStreamReader;
 7 import java.io.OutputStreamWriter;
 8 import java.net.Socket;
 9 
10 /*
11  * 客户端键盘录入,服务器输出文本文件
12  */
13 public class ClientDemo {
14     public static void main(String[] args) throws IOException {
15         // 创建客户端Socket对象
16         Socket s = new Socket("192.168.12.92", 23456);
17 
18         // 封装键盘录入
19         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
20         // 封装通道内的数据
21         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
22                 s.getOutputStream()));
23 
24         String line = null;
25         while ((line = br.readLine()) != null) {
26             if ("over".equals(line)) {
27                 break;
28             }
29 
30             bw.write(line);
31             bw.newLine();
32             bw.flush();
33         }
34 
35         // bw.close();
36         // br.close();
37         s.close();
38     }
39 }

(2)服务器端:

 1 package cn.itcast_09;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.FileWriter;
 6 import java.io.IOException;
 7 import java.io.InputStreamReader;
 8 import java.net.ServerSocket;
 9 import java.net.Socket;
10 
11 public class ServerDemo {
12     public static void main(String[] args) throws IOException {
13         // 创建服务器Socket对象
14         ServerSocket ss = new ServerSocket(23456);
15 
16         // 监听客户端连接
17         Socket s = ss.accept();
18 
19         // 封装通道内的数据
20         BufferedReader br = new BufferedReader(new InputStreamReader(
21                 s.getInputStream()));
22         // 封装文本文件
23         BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));
24 
25         String line = null;
26         while ((line = br.readLine()) != null) {
27             bw.write(line);
28             bw.newLine();
29             bw.flush();
30         }
31 
32         bw.close();
33         // br.close();
34         s.close();
35         // ss.close();
36     }
37 }

运行效果,如下:

原文地址:https://www.cnblogs.com/hebao0514/p/4864785.html