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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 友人A 中级黑马   /  2016-3-16 17:33  /  530 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第六天的学习:
        IO流:
                概念:流是用来处理设备之间的数据传输的;Java对数据的操作是采用流的方式。
                IO流按操作可以分为:字节流和字符流。
        IO流的四个顶层基类:
                字节流的基类:InputStream,OutputStream,
                字符流的基类:Reader,Writer;
                注意:使用的时候需要导包,使用之后需要close();
               
        IO流FileInputStream操作方法:
                int        read();//一次读取一个字节
                注意:返回值方法是int,而不是byte
                原因:因为字节输入流操作的是任意类型的文件(即任意的二进制文件),文件的二进制序列中有可能
                        出现1111 1111的序列片段,如果返回值是byte类型的话。当读到这个字节的时候,返回值是-1。则出现
                        文件没有读取完就终止读取的问题。所以用int类型接收的时候,会在数据前面补上三个字节的0序列
                        这样翻译过来的就是255,就不会出现上述问题了。
        IO流FileOutputStream操作方法:
                writer();//一次写出一个字节;
                虽然写出的是int类型,但是写出时会去掉前面的三个字节的0;
                创建FileOutputStream对象的时候,路径文件如果没有,则会自动创建;
                如果需要在已有的文件里追加数据,则在构造方法参数后多加一个参数true;
        文件拷贝:       
                字节拷贝:效率太低;
                创建大数组拷贝:可能会出现内存溢出;
                小数组拷贝:数组大小最好是1024的正数倍;大小适中
        BufferedInputStream和BufferedOnputStream:
                BufferedInputStream
                        BufferedInputStream内置了一个缓冲区(数组)
                        从BufferedInputStream中读取一个字节时
                        BufferedInputStream会一次性从文件中读取8192个, 存在缓冲区中, 返回给程序一个
                        程序再次读取时, 就不用找文件了, 直接从缓冲区中获取
                        直到缓冲区中所有的都被使用过, 才重新从文件中读取8192个
                BufferedOutputStream
                        BufferedOutputStream也内置了一个缓冲区(数组)
                        程序向流中写出字节时, 不会直接写到文件, 先写到缓冲区中
                        直到缓冲区写满, BufferedOutputStream才会把缓冲区中的数据一次性写到文件里
        flush()和close()的区别:
                共同点:两个方法均可以刷新缓冲区;
                不同点:flush()刷新缓冲区不关流,可以再次写出close()刷新后关流;

        字节流操作字符:
                读字符不建议用字节流,因为可能会出现乱码;
                写字符可以用字节流,因为字符串有Getbytes()方法;

        标准异常处理办法,(两个版本);
        然后我就去做练习了。。。

1 个回复

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