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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dunwu 中级黑马   /  2013-7-17 06:47  /  1847 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-18 18:12 编辑
  1. /*为什么客户端把数据写入到Socket输出流,
  2.           服务端却从Socket读取流中读取数据?具体是怎么实现的?
  3.         */
  4.                 //Socket 客服端 把数据写入到Socket输出流中;
  5.                         BufferedWriter bufwOut = new BufferedWriter
  6.                                 (new OutputStreamWriter (s.getOutputStream()));
  7.         //SocketServer 服务端 从Socket读取流中读取数据;
  8.                         BufferedReader bufrIn = new BufferedReader
  9.                                 (new InputStreamReader (s.getInputStream()));
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

6 个回复

正序浏览
额~我给你举个例子!希望对你有帮主!!
首先有一个文本F····我们要对文本进行操作,最好的方法就是让它变成一个对象,然后方便我们对其进行操作!!所以我们可以使用字符流的方法对F进行操作。
这里就涉及了读取和写入流,Writer和Reader.流你可以理解它有一个独立的空间,就是缓冲区,把文本存进去之后,我们就在流中对其进行我们需要的操作。为了更好的操作流中的F,我们就可以使用修饰好的BufferedWriter 和 BufferedReader  ,利用里面的方法对F进行操作好了我们就把流中的F返回!!

我觉得例子是想让你理解其中的过程···如果你理解了,那么你的问题就迎刃而解了!!希望对你有所帮助哈

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
Candy 发表于 2013-7-17 11:12
楼上的还让人活不啊

呵呵,好好努力,你也可以的!
回复 使用道具 举报
楼上的还让人活不啊
回复 使用道具 举报
过程是这个样子的:
键盘录入的数据------>InputStreamReader(将键盘录入的字节流转为字符流)
------>BufferedReade(键键盘录入的字节数据变成字符数据后读入到这个缓冲区)
------>BufferedWriter(将读取到的字符数据转到这个输出缓冲区中)
------> OutputStreamWriter (字符数据再转换成字节数据)
------->socket(s.getOutputStream()数据来到了socket中)
----->socket(socket 带着数据就跑到了服务端)

------->InputStreamReader(利用s.getInputStream()将socket中的字节数据转换成字符数据)
------->BufferedReader(socket中的字节数据便成字符数据后来到了服务端的字符缓冲区)
------>数据往下再怎么走就看服务端怎处理了。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
你想想源是什么:目的是什么,我想就能搞清楚了,这是一个相对的问题,对于客户端来说,想要给服务端发送数据,哪就是写了,相对于服务端来说,要想读取客户端发过来的数据,哪就有读了,它们用的是一个Socket的对象。只于BufferedWriter、BufferedReader都是加入缓冲技术的字符流,网络上传送的都是字节流,所以还要用到转换流,InputStreamReader、OutputStreamWriter。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
BufferedWriter是缓冲输入流,意思是当你调用BufferedWriter的write方法时候,数据是先写入到缓冲区里,并没有直接写入到目的文件里。
你必须调用BufferedWriter的flush()方法。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马