IO流笔记

一、File文件管理对象

    创建文件对象:  File file = new File( 文件路径 );

常用的文件管理方法:

    boolean exists( )                判断文件或目录是否存在

    boolean isFile( )                 判断是否是文件

   boolean isDirectory( )        判断是否是目录

   String getPath( )                返回此对象表示的文件的相对路径名

   String getAbsolutePath( )  返回此对象表示的文件的绝对路径名

   String getName( )                返回此对象表示的文件或目录的名称

   boolean delete( )                 删除此对象指定的文件或目录

   boolean createNewFile( )   创建名称的空文件,不创建文件夹

   long  length()                       返回文件的长度,单位为字节, 如果文件不存在,则返回 0L

二、流分类

             

一、使用字节流读取数据和输出数据的步骤:

 1、构造输入流文件对象 FileInputStream

        FileInputStream fis=new FileInputStream(文件路径);

 2、构造输出流文件对象  FileOutputStream 

       FileInputStream fis= new FileOutputStream("文件路径");

 3、创建中转站数组,存放每次读取的内容
            byte[] words=new byte[1024];

 4、通过循环实现文件读取
            while((fis.read())!=-1){
                fis.read(words);
                fos.write(words, 0, words.length);
            }

5、关闭流

         fos.close();

         fis.close();

二、使用字符流读取数据输出到控制台:

       1、利用字符流对象Reader进行构造文件

              Reader fr=new FileReader(文件路径);

       2、创建字符数组作为中转站
            char ch[]=new char[1024];  
            sbf=new StringBuffer();

       3、循环读取并追加字符
            while ((fr.read(ch)!= -1)) { 
                sbf.append(ch);   
                length=fr.read();
            }

       4、输出数据以及关闭流

             fr.close();

三、使用带有缓冲区的字符流读取数据输出到控制台

     1、创建一个FileReader对象

           FileReader  fr=new FileReader(文件路径); 

     2、创建一个BufferedReader 对象,将文件对象进行构造成具有缓冲流的字符对象

          BufferedReader br=new BufferedReader(fr); 

    3、循环读取内容保存在控制台中进行输出

         String  str="";

         while( (str=br.readLine() ) !=null){ 
                System.out.println(str);
                str=br.readLine(); //循环读取内容保存在str中进行输出
            }

    4、关闭 流

        br.close();        fr.close(); 
四、利用bufferReader和bufferedWrite进行读写内容数据

    1、创建一个FileWriter 对象     和    BufferedWriter 对象

        FileWriter   fw=new FileWriter(文件路径); 

      BufferedWriter  bw=new BufferedWriter(fw); 

    2、直接进行写入数据,刷新缓冲区

             bw.write("数据写入"); 

             bw.newLine();//创建新的一行

             bw.flush();//刷新缓冲区

     3、 创建文件读取对象FileReader    和   BufferedReader  

          FileReader  fr=new FileReader(读取文件的路径); 
          BufferedReader  br=new BufferedReader(fr); 

      4、循环读取内容保存在控制台中进行输出

         String  str="";

         while( (str=br.readLine() ) !=null){ 
                System.out.println(str);
                str=br.readLine(); //循环读取内容保存在str中进行输出
            }

      5、关闭所有流

五、二进制读写文件    (复制文件效果哦)

1、创建输入输出流对象

         FileInputStream fis = new FileInputStream(输入文件的路径);

        DataInputStream dis = new DataInputStream(fis);

        FileOutputStream outFile = new FileOutputStream(输出文件路径);
        DataOutputStream out == new   DataOutputStream(outFile);

2、读取文件并写入文件

            int temp;
              while ( (temp = dis.read()) != -1) {
                          out.write(temp);
              }

3、关闭输入输出流

         dis.close();

         out.close();

 

注意:字节流和字符流的区别,字符流一般用来处理文字数据,字节流一般用于传输文件数据

  BufferedReader带有缓冲流输入流

  BufferedWrite带有缓冲的输入流   

  以上二者皆可用readLine()方法进行读取数据,使用write()方法进行写入数据,用flush()方法进行刷新

  

  

     

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值