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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白春秋 中级黑马   /  2015-3-9 15:12  /  1073 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


结合这个图,总结一下对io这方面的心得:
1, 字节流+编码=字符流 这是字节字符流的本质区别,由此也知道两者的应用范围:字符流用在需要编码解码文件比较方面,但是字节流可以用在所以文件的读取和写入,
2,输入流关联文件不同:
        文本文件  FileInputstrem    包转类  BufferInputstream
        键盘录入  标准输入流 System.in  是底层的,具有唯一性
        输入流的read方法介绍
                write(int  byte);一次写一个字节
                write(byte[],int begin,int end)一次写一个字节数组的一部分或者全部,

                int read()一次读取一个字节                  返回的是读到字符的二进制码所对应的int类型
                read(byte[])一次读取一个字节数组       返回的是所读到字符的个数
                readline()一次读取一行数据,自动判断换行标记\r\n
                系统的换行标记在配置文件中,可以直接获取定义为常量:
   private static final Sting LINR_SEPARATOR =System.getProperty(line.separator);
  在构造函数参数加上boolean型的true,能实现续写功能
io中追重要的就是转换流
字节转换字符和字符转换字节流
InputStreamRead
OutputStreamWrite
转换流后可以再使用包转类即两个最常用的经典必背代码:
InputStreamRead isr = new InputStreamRead(new BufferedInputStream(System.in));
OutputStreamWrite osw = new OutputStreamWrite(new BufferedOutputStream(System.out));以下代码不动就可以执行各种不同的需求,只需要在关联的流做相应的变化即可
关于使用流的步奏,四个明确
转换流:
InputStreamReader :字节到字符的桥梁。解码。
OutputStreamWriter:字符到字节的桥梁。编码。


流的操作规律:
之所以要弄清楚这个规律,是因为流对象太多,开发时不知道用哪个对象合适。


想要知道开发时用到哪些对象。只要通过四个明确即可。


1,明确源和目的(汇)
        源:InputStream  Reader
        目的:OutputStream  Writer
2,明确数据是否是纯文本数据。
        源:是纯文本:Reader
                否:InputStream
        目的:是纯文本 Writer
                否:OutputStream
        到这里,就可以明确需求中具体要使用哪个体系。
        3,明确具体的设备。
        源设备:
                硬盘:File
                键盘:System.in
                内存:数组网络:Socket流
v目的设备:
                硬盘:File
                控制台:System.out
                内存:数组
                网络:Socket流
4,是否需要其他额外功能。
        1,是否需要高效(缓冲区);
                是,就加上buffer.
        2,转换。
       





1 个回复

倒序浏览
我来学习下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马