TCP网络编程:服务器端的while为什么不能循环结束

功能:通过服务器将e盘下的文件复制一份
疑惑点:客户端已经将文件数据写入输出流中,服务端读取while不能结束原因

 import java.io.*;
import java.net.*;
客户端
public class client4 {

    public static void main(String[] args)throws Exception {

        Socket s=new Socket("192.168.1.103",10003);

        //目的:服务端
        BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

        BufferedReader bufr=new BufferedReader(new FileReader("E:\\Circle.java"));

        String   line=null;


        while((line=bufr.readLine())!=null)
        {
            bufw.write(line);
            bufw.newLine();
            bufw.flush();


        }

        BufferedReader bufrS=new BufferedReader(new InputStreamReader(s.getInputStream()));
        String str=bufrS.readLine();
        System.out.println(str);

        bufr.close();
        s.close();





    }

}

//服务器端
import java.io.*;
import java.net.*;

public class server4 {

    public static void main(String[] args)throws Exception {
        ServerSocket ss=new ServerSocket(10003);

        Socket s=ss.accept();
        String ip=s.getInetAddress().getHostAddress();
        System.out.println(ip+".....connect");

        //从客户端读数据
        BufferedReader bufr=new BufferedReader(new InputStreamReader(s.getInputStream()));

        //写入文件中()
        BufferedWriter bufw=new BufferedWriter(new FileWriter("e:\\copy.java"));





        String line=null;
        while((line=bufr.readLine())!=null)
        {

            bufw.write(line);
            bufw.newLine();
            bufw.flush();

        }


        BufferedWriter bufwS=new BufferedWriter (new OutputStreamWriter(s.getOutputStream()));
        bufwS.write("数据复制成功");
        bufwS.newLine();
        bufwS.flush();

        bufw.close();
        s.close();


    }

}

https://zhidao.baidu.com/question/246413883.html

兄弟 问题解决没 我看网上的解释都好鸡肋 也很迷会 为什么 while 不能结束 服务端的 循环

今天的我也遇到了😂