zoukankan      html  css  js  c++  java
  • (六)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();
       }
    }

    总结:

    提供带缓冲的读写

  • 相关阅读:
    Linux学习总结(18)——Linux使用init命令关机、重启、切换模式
    iOS autorelease使用详解
    iOS xib的使用详解
    iOS ASI--缓存
    iOS ASI--其他用法
    iOS ASI--管理多个请求
    iOS ASI--文件上传
    iOS ASI--文件下载
    iOS ASI--POST请求
    iOS ASI--GET请求
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9665568.html
Copyright © 2011-2022 走看看