tcp文件上传

1.server

 1 // 创建服务器端的Socket对象
 2         ServerSocket ss = new ServerSocket(11111);
 3 
 4         // 监听客户端连接
 5         Socket s = ss.accept();
 6 
 7         // 封装通道内的流
 8         BufferedReader br = new BufferedReader(new InputStreamReader(
 9                 s.getInputStream()));
10         // 封装文本文件
11         BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java"));
12 
13         String line = null;
14         while ((line = br.readLine()) != null) {
15             bw.write(line);
16             bw.newLine();
17             bw.flush();
18         }
19 
20         bw.close();
21         s.close();

2.client

 1 // 创建客户端Socket对象
 2         Socket s = new Socket("192.168.12.92", 11111);
 3 
 4         // 封装文本文件
 5         BufferedReader br = new BufferedReader(new FileReader(
 6                 "InetAddressDemo.java"));
 7         // 封装通道内流
 8         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
 9                 s.getOutputStream()));
10 
11         String line = null;
12         while ((line = br.readLine()) != null) {
13             bw.write(line);
14             bw.newLine();
15             bw.flush();
16         }
17 
18         // 释放资源
19         br.close();
20         s.close();

总结

  这个文件上传是基于TCP的,首先,TCP是一个建立连接的传输方式,

步骤:

在客户端上:1.创建TCP客户端的Socket对象  2.获取输出流,写数据  3  .释放资源

在服务端上:1.创建TCP服务器端的Socket对象  2.监听客户端连接  3.获取输入流,读取数据  4.释放资源

io流

     // BufferedWriter缓冲流
        // OutputStreamWriter转换流
        // OutputStream 字节输出流
        // 封装通道内的数据
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
                s.getOutputStream()));

基础知识还是挺麻烦的,好好总结!

原文地址:https://www.cnblogs.com/csslcww/p/9207717.html