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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 597652639 中级黑马   /  2016-6-22 00:53  /  480 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

IO流(IO流概述及其分类).
字节流:InputStream     输入流   读
           OutputStream    输出流   写

字符流:
                Reader                        输入流  读
                Writer                        输出流  写


IO流(FileInputStream).
重点代码:
read()一次读取一个字节

                FileInputStream fis = new FileInputStream("aaa.txt");//要读取的数据必须存在       
                int b;                                                                                                       
                while((b = fis.read()) != -1) {                //如果读到-1 就证明没有数据了.                                       
                        System.out.println(b);                                                               
                }
               
                fis.close();               

IO流(FileOutputStream追加).

重点代码:
FileOutputStream fos = new FileOutputStream("bbb.txt",true);        //如果没有bbb.txt,会创建出一个
//虽然写出的是一个int数,但是在写出的时候会将前面的24个0去掉,所以写出一个byte
fos.write(98);
fos.write(99);
fos.close();

IO流(拷贝图片).


重点代码:
FileInputStream fis = new FileInputStream("致青春.mp3");        //创建输入流对象,关联致青春.mp3
FileOutputStream fos = new FileOutputStream("copy.mp3");//创建输出流对象,关联copy.mp3
               
int b;
while((b = fis.read()) != -1) {
        fos.write(b);
        }               
fis.close();
fos.close();

注意:用IO流完成复制文件的操作后要把输入流和输出流对象都关闭。

IO流(flush和close方法的区别).
flush() 刷新缓冲区,流对象还可以继续使用
close() 关闭流对象,但是在关闭之前会有一步刷新缓冲区的操作,流对象不能继续使用

IO流(流的标准处理异常代码1.6版本及其以前).

                FileInputStream fis = null;
                FileOutputStream fos = null;
                try {
                        fis = new FileInputStream("aaa.txt");
                        fos = new FileOutputStream("bbb.txt");
                        int b;
                        while((b = fis.read()) != -1) {
                                fos.write(b);
                        }
                } finally {
                        try {
                                if(fis != null)
                                        fis.close();
                        }finally {
                                if(fos != null)
                                        fos.close();
                        }
                }

IO流(流的标准处理异常代码1.7版本).
try(创建流对象){读写代码的操作}
1.7版本是不需要关流的,会自动关闭.

try(
                        FileInputStream fis = new FileInputStream("aaa.txt");
                        FileOutputStream fos = new FileOutputStream("bbb.txt");
                        //MyClose mc = new MyClose();
                ){
                        int b;
                        while((b = fis.read()) != -1) {
                                fos.write(b);
                        }
                }
基本就是这些了

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马