• (六)IO流之过滤流


    过滤字节流FilterInputStream和FilterOutputStream

    BufferedInputStream和BufferedOutputStream    需要使用已存在的节点流来构造,提供了带缓冲的读写,提高了读写的效率

    package com.tanlei.InputOutputStream;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class BufferedInputOutputDemo {
        public static void main(String[] args) {
            try {
                FileUtil1.copyFile(new File("C:\zhangsan\tanlei.txt"), new File("D:\zhangsan.txt"));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } 
    }
    class FileUtil1{
        public  static  void  copyFile(File src,File dst) throws IOException {
            FileInputStream fis=new FileInputStream(src);
            FileOutputStream fos=new FileOutputStream(dst);
            BufferedInputStream bis=new BufferedInputStream(fis);
            BufferedOutputStream bos=new BufferedOutputStream(fos);
            
            long time=System.currentTimeMillis();
            int data=0;//用来保存实际读到的字节数
            while ((data=bis.read())!=-1) {
                bos.write(data);
            }
            bis.close();
            bos.close();
            long time2=System.currentTimeMillis();
            System.out.println("共花费+"+(time2-time));
        }
    }

    DataInputStream和DataOutputStream   基本数据类型进行操作

    package com.tanlei.InputOutputStream;
    
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class DataInputOutputDemo {
       public static void main(String[] args) throws IOException {
         String name="tanlei";
         int age=20;
         boolean flag=true;
         char sex='男';
         double money=110.56;
         
         DataOutputStream dos=new DataOutputStream(new FileOutputStream("D:\aa.txt"));
         dos.writeUTF(name);
         dos.writeInt(age);
         dos.writeDouble(money);
         dos.writeChar(sex);
         dos.writeBoolean(flag);
         dos.close();
         
         DataInputStream dis=new DataInputStream(new FileInputStream("D:\\aa.txt"));
         System.out.println(dis.readUTF());
         System.out.println(dis.readInt());
         System.out.println(dis.readDouble());
         System.out.println(dis.readChar());
         System.out.println(dis.readBoolean());
         dis.close();
       }
    }

    总结:

    提供带缓冲的读写

  • 相关阅读:
    一加5安卓P刷入twrp的recovery
    使用flask搭建微信公众号:实现签到功能
    使用flask搭建微信公众号:接收与回复消息
    Python中的单例设计模式
    Python中的异常处理
    Python面向对象 --- 新旧式类、私有方法、类属性和类方法、静态方法
    Python面向对象的三大特征 --- 封装、继承、多态
    Python面向对象 --- 类的设计和常见的内置方法
    Python中函数装饰器及练习
    Python中函数练习
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9665568.html
Copyright © 2020-2023  润新知