1. 程式人生 > >IO流-文件的復制

IO流-文件的復制

col println color 定義 out sys buffere start redo

1、字節流復制文件:

    public void myTest() {
        // 定義輸入和輸出流
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream("E:\\電影\\黃飛鴻之鐵雞鬥蜈蚣.mkv");
            fos = new FileOutputStream("F:\\黃飛鴻之鐵雞鬥蜈蚣.mkv");
            byte[] b = new byte
[1024]; int len = 0; long start = System.currentTimeMillis();// 記錄開始復制的時間 while ((len = fis.read(b)) != -1) { fos.write(b, 0, len); } long end = System.currentTimeMillis();// 記錄結束復制的時間 System.out.println(end - start);// 算出復制文件所用的時間(ms)
} catch (IOException e) { e.printStackTrace(); } finally { try { if (fos != null) { fos.close(); } if (fis != null) { fis.close(); } } catch (IOException e) { e.printStackTrace(); } } }

2、

    public void myTest() {
        // 定義輸入和輸出流
        BufferedInputStream bfis = null;
        BufferedOutputStream bfos = null;
        try {
            bfis = new BufferedInputStream(new FileInputStream("E:\\電影\\黃飛鴻之鐵雞鬥蜈蚣.mkv"));
            bfos = new BufferedOutputStream(new FileOutputStream("F:\\黃飛鴻之鐵雞鬥蜈蚣.mkv"));
            byte[] b = new byte[1024];
            int len = 0;
            long start = System.currentTimeMillis();// 記錄開始復制的時間
            while ((len = bfis.read(b)) != -1) {
                bfos.write(b, 0, len);
            }
            long end = System.currentTimeMillis();// 記錄結束復制的時間
            System.out.println(end - start);// 算出復制文件所用的時間(ms)
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (bfos != null) {
                    bfos.close();
                }
                if (bfis != null) {
                    bfis.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

IO流-文件的復制