黑马程序员技术交流社区
标题:
网络编程 PrinterWriter
[打印本页]
作者:
炎星辰
时间:
2014-5-29 21:10
标题:
网络编程 PrinterWriter
本帖最后由 炎星辰 于 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();
}
作者:
JavaStudy770
时间:
2014-5-30 13:37
据我所知,flush()的功能是在流关闭之前把流中的数据全部写入目标位置
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2