用Java和bat批處理實現(xiàn)文件復(fù)制

平時寫代碼怕電腦出問題,需要備份到U盤,每次都手動打開復(fù)制好麻煩,于是就用Java寫了個文件拷貝的jar包,用批處理執(zhí)行。

1、編寫程序

程序執(zhí)行的時候需要傳入兩個參數(shù),分別是源路徑和目的路徑。這樣便于拷貝不同的文件夾。

package cn.baicai.ioStream;

import java.io.*;

public class CopyFile {
    static int nums=0;
    public static void main(String[] args) throws Exception {
        int len= args.length;
        if (len!=2){
            System.out.println("請輸入原文件夾和目的文件夾,以空格分開");
        }
        else {
            System.out.println("開始復(fù)制");
            String src=args[0];
            String des=args[1];
            copyDirectory(src,des);
            System.out.println("共復(fù)制了"+nums+"個文件,復(fù)制完畢");
        }
    }

    public static void copyDirectory(String src,String des) throws Exception{
//        初始化源文件夾
        File fileSrc=new File(src);
//        初始化目標文件夾
        File fileDes=new File(des);
//        獲得文件中的所有文件
        File[] files=fileSrc.listFiles();
//        如果目標文件夾不存在,則創(chuàng)建
        if (!fileDes.exists()){
            fileDes.mkdirs();
        }
//        遍歷所有文件
        for (File file :
                files) {
//        如果是文件就復(fù)制
            if (file.isFile()) {
                copyFile(file.getAbsolutePath(),des+"\\"+file.getName());
//        如果是文件夾就遞歸調(diào)用
            }else if (file.isDirectory()){
                copyDirectory(file.getAbsolutePath(),des+"\\"+file.getName());
            }
            }
    }

    public static void copyFile(String src,String des) throws Exception{
        BufferedInputStream bis=new BufferedInputStream(new FileInputStream(src));
        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(des));

        byte[] buffer=new byte[2048];
        int len=0;
        while ((len=bis.read(buffer))!=-1){
            bos.write(buffer,0,len);
        }
        bos.close();
        bis.close();
        System.out.println(src+"\t復(fù)制完畢");
        nums+=1;
    }
}

2、生成jar包。

生成jar包

選擇主函數(shù)

設(shè)置名字,確認即可

選Artifacts

build即可

3、編寫腳本文件

后面跟的是源、目的文件夾。

@echo off
java -jar IOStream.jar C:\Users\bai\Desktop\新建文件夾 C:\Users\bai\Desktop\新建
pause

另存為bat,注意Windows默認編碼不是utf-8,要切換成ANSI,這個會根據(jù)不同的國家更換,中國就是GBK編碼。


另存文件,切換編碼方式

4、運行bat程序

大功告成了


運行成功
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容