IO流之InputStream和OutputStream

Posted tanlei-sxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流之InputStream和OutputStream相关的知识,希望对你有一定的参考价值。

InputStream:定义了字节输入流的抽象类

OutputStream:定义了字节输出流的抽象类;该类所有方法返回void值

FileInputStream:

FileOutputStream:

package com.tanlei.InputOutputStream;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileInputOutputStream {
   public static void main(String[] args) {
    try {
        FileUtil.copyFile(new File("C:\zhangsan\tanlei.txt"), new File("D:\zhangsan.txt"));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
}


class FileUtil{
    public  static  void  copyFile(File src,File dst) throws IOException {
        FileInputStream fis=new FileInputStream(src);
        FileOutputStream fos=new FileOutputStream(dst);
        long time=System.currentTimeMillis();
        int data=-1;
        while ((data=fis.read())!=-1) {
            fos.write(data);
        }
        fos.close();
        long time2=System.currentTimeMillis();
        System.out.println("共花费+"+(time2-time));
    }
}

缓冲区优化

 read(byte[] b) 方法

byte[] buf=new byte[1024*1024];//创建一个1M大小的缓冲区,用来存放输入流中的字节数
        long time=System.currentTimeMillis();
        int data=0;//用来保存实际读到的字节数
        while ((data=fis.read(buf))!=-1) {
            fos.write(buf,0,data);
        }
        fos.close();
        long time2=System.currentTimeMillis();
        System.out.println("共花费+"+(time2-time));

 



以上是关于IO流之InputStream和OutputStream的主要内容,如果未能解决你的问题,请参考以下文章

IO流之IO流综述

Java中的IO流之输入流|乐字节

IO流之DataInputStream/DataOutputStream

java 21 - 13 IO流之序列化和反序列化

IO流之再战猜拳小游戏

Java学习笔记之 IO包 字节流