Java输入输出之字节流拷贝文件


步骤:

1.构造文件字节输入输出流

2.创建一个字节数组,用来指定每次复制的字节大小

3.输入流从源文件读取字节,输出流将字节写入文件

 

下面通过一段程序进行说明:

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

public class JavaIO {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream(
                "E:\\Download\\struts-2.3.1.2-all.zip");
        FileOutputStream fos = new FileOutputStream("E:\\a.zip");
        byte[] b = new byte[1024000];
        int n;
        while ((n = fis.read(b)) != -1) {
            fos.write(b, 0, n);
        }
        fis.close();
        fos.close();
    }
}

fis.read(b)的作用是从源文件最多读取b.length字节的数据送给b数组,返回的是读入的字节总数。

本例中b.length的长度指定为1024000,当最后一次不足1024000,例如只剩下5000字节时,返回的就是5000,此时所有字节读取完毕。下一次读入时由于已到达文件末尾,返回-1。

fos.write(b, 0, n)意思是将byte数组从偏移量0开始的n个字节写入文件输出流。

程序结束后记得要关闭输入输出流。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM