A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 炎星辰 中级黑马   /  2014-5-29 21:10  /  971 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 炎星辰 于 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();        
        }

1 个回复

倒序浏览
据我所知,flush()的功能是在流关闭之前把流中的数据全部写入目标位置
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马