黑马程序员技术交流社区

标题: 网络编程 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