Java IO 流基本知识

            我根据所学的知识,将Java IO流进行简单的总结,

目录

一:IO流

        1.IO流的概念

          2.IO流中流的分类

           3.IO流的作用

二:字节流

        1.字节流的概念

           2.字节流的分类

             3.字符缓冲流         

              4.代码演示

三:字符流

        1.字符流

          2.字符流的分类

                (a)字符输入流

                (b)字符输出流

           3.字符缓冲流

                (a)字符输入缓冲流

                (b)字符输出缓冲流

             4.代码演示

 四:转换流

        1.字节与字符转换流      

             (a)字节与字符转换输入流

             (b)字节与字符转换输出流 

         2.代码演示

                                                                             IO流

1.概念:IO流业被称为输入输出流,杯使用来读取数据.I即是Input,是将数据从磁盘读取到内存的操作,O即是Output,是将数据从内存输出到磁盘中.

2.

字节流

字符流

Java IO流

缓冲流

转换流

3.IO流的作用是为即将进行数据读取的数据源与输出数据的目的地之间建立一个便捷的通道.

二;字节流

1.字节流可分为字节输入流(FileInputStream),字节输出流(FileOutputStream).但大多数时候都不单独进行编码,为了提高读取数据与输出数据到目的地的效率,通常与缓冲流配合在一起使用.

2.字节缓冲流,实在输入与输出之间创建一个缓冲区,从而加快数据的拷贝效率.

代码如下:

long time01=System.currentTimeMillis();
        copyByte("d:/a.恩格斯","d:/a.春雨");
        long time02=System.currentTimeMillis();
        System.out.println("花费的时间为"+(time02-time01));
    }


        public static void  copyByte(String recourse,String desttion) {
        try(//文件字节输入流,文件字节输出流
                FileInputStream fis=new FileInputStream(recourse);
            FileOutputStream fos=new FileOutputStream(desttion)){
            //缓冲区
            byte [] buffer=new byte[64];
            int str=0;
            while ((str=fis.read(buffer))!=-1){
             fos.write((char)str);

        }
fos.flush();
        }catch (IOException e){
            e.printStackTrace();
        }






三:字符流.字符流有字符输入流(FileReader),字符输出流(FileWriter),字符输入缓冲流(BufferedReader),字符输出缓冲流(BufferedWriter).

代码如下:

//字符输入流,字符输出流
        try(FileReader fr=new FileReader("d:/a.恩格斯");
            FileWriter  fw=new FileWriter("d:/a.云林")){
            int str=0;
            while((str=fr.read())!=-1){
               fw.write((char)str);
            }
fw.flush();

        }catch (IOException e){
            e.printStackTrace();
        }





//字符缓冲输入流,字符缓冲输出流
        try (BufferedReader wr=new BufferedReader(new FileReader("d:/a.恩格斯"));
        BufferedWriter bw=new BufferedWriter(new FileWriter("d:/a.秋叶"))
        ){
        String temp="";
        int i=1;
        while ((temp=wr.readLine())!=null){
            bw.write((char)temp);
            bw.newLine();
        }
        bw.flush();
        }catch (IOException e){
            e.printStackTrace();
        }

四;转换流.有字节与字符输入转换流(InputStreamReader),字符与字节输出转换流(OutputStreamWriter),为了提高效率,转换流通常与缓冲流一起使用.

代码如下:

    public static void main(String[] args) {
      try(//字符输入缓冲流,字符与字节转换流,文件字节输入流
          BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("d:/a.恩格斯"),"GBK"));
          //字符输出缓冲流,字节与字符转换流,文件字节输入流
            BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:/冬雪")))
              ){
          String temp="";
          int i=1;//添加序号
          while ((temp=br.readLine())!=null){
              bw.write(i+"."+temp);
              //换行
              bw.newLine();
              i++;
          }
          bw.flush();

      }catch (IOException e){
          e.printStackTrace();
      }

这知识有关我个人的理解,若有不妥之处请多多包涵.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玛卡巴卡的小小兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值