本帖最后由 炎星辰 于 2014-5-29 21:13 编辑
我看视频上说使用PrintWriter对象,它对换行操作的时候具备自动刷新功能
/*原理:把一个个文件中的内容发送到服务端存储到一个文件中,这就是上传,上传成功后服务端会反馈给客户端:上传成功
客户端思路:
1、读取一个文本文件
2、定义目的是网络,将读取的数据发送到服务端。
实现代码:*/
Socket s=new Socket("127.0.0.1",10000);
BufferedReader buf=new BufferedReader(new FileReader("a.txt"));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
Strring line=null;
While((line=bufr.readLine())!=null){
out.println(line);
}
s.shutdownOutput();//告诉服务端客户端数据发送完毕,其实就是写入了标记。
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
String str=bufIn.readLine();
System.out.println(str);
bufr.close();
s.close();
服务端代码实现:
ServerSocket ss = new ServerSocket(10000);
Socket s = ss.accept();
System.out.println(s.getInetAddress().getHostAddress()+".....connected");
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter pw = new PrintWriter(new FileWriter("copy.txt"),true);
String line = null;
while((line=bufIn.readLine())!=null){
pw.println(line);
}
PrintWriter out = new PrintWriter(s.getOutputStream(),true);
out.println("上传成功");
out.flush();//不是说PrintWriter对象,它对换行操作的时候具备自动刷新功能吗
如果我不加刷新 ,客户端就收不到返回的数据
pw.close();
s.close();
ss.close();
} |
|