黑马程序员技术交流社区

标题: 还有个Io流问题要问下, [打印本页]

作者: 曹昌豪    时间: 2012-5-21 19:37
标题: 还有个Io流问题要问下,
给位大侠帮下,IO流学的差不多,现在学网络编程这快,数据传输要用到流,记混了,好几个不知道用哪个好了!!!
啥好方法给分享下

作者: 小小企鹅    时间: 2012-5-21 20:16
字节流抽象基类
InputStream
OutputStream
字符流抽象基类
Reader
Writer
BufferedInputStream 带有缓冲区的字节流,调用read(buf)方法一次取多个字节;
BufferedOutputStream 带有缓冲区的字节流,调用write(byte)一次写多个字节;
BufferedReader 带有缓冲区的字符流,一次取多个字符方法readLine();读取一行
BufferedWriter带有缓冲区的字符流,一次写多个字符可以用write(String)写入每一行
PrintWriter 用println()可以写不同平台的换行符
作者: 凡延海    时间: 2012-5-21 20:39
本人任务按照每个流的用途来记忆最好了,流用处广的可以按照特定的实例来记住,下面是小小的总结基本都是字节流。
可以把字节流转换成字符流
InputStreamReader与OutputStreamWriter 对文件操作:FileInputStream与FileOutputStream类
线程之间通信:PiedInputStream与PiedOutputStream
内存中完成读写操作:ByteArrayInputStream与ByteArrayOutputStream类
BufferedRead可以方便的一次读取一行,你要是从键盘输入用这个很方便。
PrintWriter 可以方便的写入不同平台下的换行符。
作者: 贾旭    时间: 2012-5-21 20:48
关于这个问题,请参见老毕的四个明确。
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  
毕导已经总结的很好,直接用就哦了。

作者: 曹昌豪    时间: 2012-5-22 08:27
{:soso_e100:},哟西,晓得了阿,我练练去哈,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2