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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹昌豪 中级黑马   /  2012-5-21 19:37  /  1771 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

给位大侠帮下,IO流学的差不多,现在学网络编程这快,数据传输要用到流,记混了,好几个不知道用哪个好了!!!
啥好方法给分享下

4 个回复

倒序浏览
字节流抽象基类
InputStream
OutputStream
字符流抽象基类
Reader
Writer
BufferedInputStream 带有缓冲区的字节流,调用read(buf)方法一次取多个字节;
BufferedOutputStream 带有缓冲区的字节流,调用write(byte)一次写多个字节;
BufferedReader 带有缓冲区的字符流,一次取多个字符方法readLine();读取一行
BufferedWriter带有缓冲区的字符流,一次写多个字符可以用write(String)写入每一行
PrintWriter 用println()可以写不同平台的换行符

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本人任务按照每个流的用途来记忆最好了,流用处广的可以按照特定的实例来记住,下面是小小的总结基本都是字节流。
可以把字节流转换成字符流
InputStreamReader与OutputStreamWriter 对文件操作:FileInputStream与FileOutputStream类
线程之间通信:PiedInputStream与PiedOutputStream
内存中完成读写操作:ByteArrayInputStream与ByteArrayOutputStream类
BufferedRead可以方便的一次读取一行,你要是从键盘输入用这个很方便。
PrintWriter 可以方便的写入不同平台下的换行符。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
关于这个问题,请参见老毕的四个明确。
1,明确源和目的(汇)
        源:InputStream  Reader
        目的:OutputStream  Writer

2,明确数据是否是纯文本数据。
        源:是纯文本:Reader
                否:InputStream
        目的:是纯文本 Writer
                否:OutputStream
       
        到这里,就可以明确需求中具体要使用哪个体系。
       
3,明确具体的设备。
        源设备:
                硬盘:File
                键盘:System.in
                内存:数组
                网络:Socket流
               
        目的设备:
                硬盘:File
                控制台:System.out
                内存:数组
                网络:Socket流

4,是否需要其他额外功能。
        1,是否需要高效(缓冲区);
                是,就加上buffer.
           2.转换?
             InputStreamReader
             OutputStreamWriter  
毕导已经总结的很好,直接用就哦了。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
{:soso_e100:},哟西,晓得了阿,我练练去哈,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马