认识高级流

1.缓冲流:一共有四种,第一个是BufferedInputStream字节缓冲输入流,第二种就是BufferedOutputStream字节缓冲输出流,第三种是BufferedReader字符缓冲输入流,第四种是BufferedWriter字符缓冲输出流。可以高效的读取和写出数据。
接下来,我会用缓冲流去拷贝,以供大家理解和使用

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\Users\\86188\\IdeaProjects\\java\\Game\\c"));
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\Users\\86188\\IdeaProjects\\java\\Game\\d")) ;
        int b;
        while ((b=bis.read())!=-1){
            bos.write(b);
        }
        bis.close();
        bos.close();
    }

底层有一个长度为8192个字节。
字节缓冲流提高效率的原理,从数据源,也就是硬盘中读取数据的还是基本流,接着,会将读取的数据放在缓冲输入流的缓冲区中(大小为8192个字节),输出流的大体流程也差不多。
字符缓冲流:BufferedReader字符缓冲输入流与BuferedWriter字符缓冲输出流。
构造方法与使用方法与字节缓冲流差不多,但是字符缓冲流有两个特别好用的方法。
字符缓冲输入流有一个readLine方法,作用是读取一行数据,如果没有数据了,就会返回null。
字符缓冲输出流也有一个方法newLine方法,作用是跨平台的换行。在之前,我们说过,每一个操作系统在使用输出流达到换行效果时,输出的字符是不一样的,但如果使用了newLine方法就可以实现跨操作系统的换行。
我写了一个代码,请看:

BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\86188\\IdeaProjects\\java\\Game\\c"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("C:\\Users\\86188\\IdeaProjects\\java\\Game\\d"));
          String line=br.readLine();
          String lin=br.readLine();
        System.out.println(line);
        System.out.println(lin);
        br.close(); 
    }

}

还可以使用一个循环来读取文件里的所有数据,如下: BufferedReader br=new

BufferedReader(new FileReader("C:\\Users\\86188\\IdeaProjects\\java\\Game\\c"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("C:\\Users\\86188\\IdeaProjects\\java\\Game\\d"));
          String line;
          while ((line=br.readLine())!=null){
              System.out.println(line);
          }
        br.close();

    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值