Java-字节输入输出。(新手)


参考手册:


BufferedInputStream


BufferedOutputStream



实例:

import java.io.*;
/*
 *  文件的复制方式
 *  1 字节流读写单个字节
 *  2 字节流读写字节数组
 *  3 字节流缓冲区 读写单个字节
 *  4 字节流缓冲区读写字节数组
 */
public class Zjsrsclx {
    public static void main(String[] args) throws Exception {
        long e = System.currentTimeMillis();
        File src = new File("D:\\ja.txt");
        File dasc = new File("C:\\ja.txt");
        long c = System.currentTimeMillis();
        System.out.println(e-c);
        lx4(src,dasc);
    }

    private static void lx4(File src, File dasc) throws Exception {
        // 4 字节流缓冲区读写字节数组
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(dasc));
        byte[] b = new byte[1024*10];
        int len = 0;
        while((len = bis.read(b))!=-1){
            bos.write(b,0,len);
        }
        bis.close();
        bos.close();
    }

    private static void lx3(File src, File dasc) throws Exception {
        //3 字节流缓冲区 读写单个字节
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(dasc));
        int len = 0;
        while((len = bis.read())!=-1){
            bos.write(len);
        }
        bis.close();
        bos.close();
    }

    private static void lx2(File src, File dasc) throws Exception {
        //2 字节流读写字节数组
        FileInputStream fis = new FileInputStream(src);
        FileOutputStream fos = new FileOutputStream(dasc);
        int len = 0;
        byte[] b = new byte[1024*10];
        while ((len = fis.read(b))!=-1){
            fos.write(b,0,len);
        }
        fis.close();
        fos.close();
    }

    private static void lx1(File src,File dasc) throws Exception {
        //1 字节流读写单个字节
        //复制粘贴文件。
        FileInputStream fis = new FileInputStream(src);
        FileOutputStream fos = new FileOutputStream(dasc);

        int len = 0;
        while ((len = fis.read())!=-1){
           fos.write(len);
        }
        fis.close();
        fos.close();
    }

}

打印结果:


lx1:


lx2:


lx3:


lx4:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值