黑马程序员技术交流社区

标题: IO流读写 [打印本页]

作者: 净火红白    时间: 2018-8-11 18:51
标题: IO流读写
本帖最后由 净火红白 于 2018-8-11 19:08 编辑

一、超类
字节流:InputStream,OutputStream
字符流:Reader ,Writer

二、文件操作流:

字节流: FileInputStream,FileOutputStream
字符流:FileReader ,FileWriter
  //1.指定要读的文件目录及名称        File file =new File("文件路径");        //2.创建文件读入流对象
        FileInputStream fis =new FileInputStream(file);        //3.定义结束标志,可用字节数组读取
        int i =0 ;
        while((i = fis.read())!=-1){
             //i 就是从文件中读取的字节,读完后返回-1
        }
        fis.close();




        File file =new File("文件路径");            
        FileOutputStream fos =new FileOutputStream(file);     
        fos.write(要写出的字节或者字节数组);         
        fos.flush();
        fos.close();
三、缓冲流:
字节缓冲流: BufferedInputStream,BufferedOutputStream
字符缓冲流:BufferedReader ,BufferedWriter
缓冲流是对流的操作的功能的加强,提高了数据的读写效率。既然缓冲流是对流的功能和读写效率的加强和提高,所以在创建缓冲流的对象时应该要传入要加强的流对象。
//1.指定要读 的文件目录及名称
        File file =new File("文件路径");        //2.创建文件读入流对象
        FileInputStream fis =new FileInputStream(file);        //3.创建缓冲流对象加强fis功能
        BufferedInputStream bis =new BufferedInputStream(fis);         //4.定义结束标志,可用字节数组读取
        int i =0 ;
        while((i = bis.read())!=-1){             //i 就是从文件中读取的字节,读完后返回-1
        }
        bis.close();
        //1.指定要写到的文件目录及名称
        File file =new File("文件路径");        //2.创建文件读入流对象
        FileOutputStream fos =new FileOutputStream(file);        //3.创建缓冲流对象加强fos功能
        BufferedOutputStream bos=new BufferedOutputStream(fos);        //4.向流中写入数据
        bos.write(要写出的字节或者字节数组);        //5.刷新和关闭流
        bos.flush();        
        bos.close();     
    由上看出流的基本操作相同,流与文件的处理几乎是一样的只是将文件作为参数传入缓冲流的构造方法中。在BufferedReader中还提供了readLine()方法来读取一行文本前缀表示功能后缀表示流的类型。比如FileInputStream前缀File表示操作的是磁盘,后缀表示字节输入流。




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