Java_基础—字节数组拷贝之available()方法

package com.soar.stream;

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

public class Demo3_Copy {

    public static void main(String[] args) throws IOException {
        //第二种拷贝方式,不推荐使用,因为有当文件过大时,可能导致内存溢出
        FileInputStream fis = new FileInputStream("SpeedDream.mp3");  //创建输入流对象,关联SpeedDream.mp3
        FileOutputStream fos = new FileOutputStream("copy.mp3"); //创建输入流对象,关联copy.mp3
        //int len = fis.available();
        //System.out.println(len);

        //如果文件是10个G的蓝光电影,将会创建一个10G的byte数组
        byte[] arr = new byte[fis.available()]; //创建与文件大小一样的字节数组
        fis.read(arr);          //将文件的字节读取到内存中
        fos.write(arr);         //将字节数组中的字节数据写道文件上

        fis.close();
        fos.close();
    }

}
posted @ 2017-07-23 16:36  Soar_Sir  阅读(434)  评论(0编辑  收藏  举报