• (六)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();
       }
    }

    总结:

    提供带缓冲的读写

  • 相关阅读:
    【转帖】关于release和debug的区别
    【转载】技术普及帖:你刚才在淘宝上买了一件东西
    iPhone史上最全的扫盲帖 【越狱,解锁,激活,Cydia,基带,裸机】
    【转帖】深入浅出话事件
    asp.net 4.0 的IIS部署
    【转帖】vs2010 快捷键大全
    C++中在一个类定义的头文件里含有一个对象,这个对象没有默认构造函数,如何实现初始化
    开通博客
    Selenium2+python自动化65js定位几种方法总结
    jps查看不到数据节点
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9665568.html
Copyright © 2020-2023  润新知