JavaSE-21.3.5【TCP通信程序练习4】
1 package day12.lesson3.p4; 2 3 import java.io.*; 4 import java.net.Socket; 5 6 /* 7 3.6 TCP通信程序练习4 8 9 案例需求 10 客户端:数据来自于文本文件 11 服务器:接收到的数据写入文本文件 12 本例相等于实现一个文件上传下载功能 13 案例分析 14 创建客户端,创建输入流对象指向文件,从文件循环读取数据,每读取一行就使用输出流给服务器输出一行 15 创建服务端,创建输出流对象指向文件,从客户端接受数据,每接受一行就给文件中输出一行 16 */ 17 public class ClientDemo { 18 public static void main(String[] args) throws IOException { 19 Socket s = new Socket("MSI-YUBABY", 10000); 20 21 BufferedReader br = new BufferedReader(new FileReader("stage2\\src\\day12\\lesson3\\p4\\src.txt")); 22 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); 23 24 String line; 25 while ((line=br.readLine()) != null){ 26 bw.write(line); 27 bw.newLine(); 28 bw.flush(); 29 } 30 31 br.close(); 32 s.close(); 33 } 34 }
1 package day12.lesson3.p4; 2 3 import java.io.*; 4 import java.net.ServerSocket; 5 import java.net.Socket; 6 7 public class ServerDemo { 8 public static void main(String[] args) throws IOException { 9 ServerSocket ss = new ServerSocket(10000); //创建服务器Socket对象 10 11 Socket s = ss.accept(); //监听客户端连接,返回一个对应的Socket对象 12 13 //接收数据 14 BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); 15 BufferedWriter bw = new BufferedWriter(new FileWriter("stage2\\src\\day12\\lesson3\\p4\\tar.txt")); 16 17 String line; 18 while ((line=br.readLine()) != null){ 19 bw.write(line); 20 bw.newLine(); 21 bw.flush(); 22 } 23 24 bw.close(); 25 ss.close(); 26 } 27 }
src.txt
1 2 3 4 5 | hello world java do u love it? i love it very much |
tar.txt
1 2 3 4 5 | hello world java do u love it? i love it very much |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!