功能:通过服务器将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();
}
}