Javaは別のフォルダにフォルダ内のすべてのファイルをコピーします

シーン:別のフォルダにフォルダ内のすべてのファイルをコピーします。

コード:

パッケージcn.lj.java; 

輸入java.io.BufferedReader;
輸入java.io.BufferedWriter;
インポートのjava.io.File;
輸入java.io.FileOutputStreamは、
輸入java.io.FileReader;
インポートにjava.io.IOException;
輸入java.io.OutputStreamWriterが、
インポートのjava.io.Writer; 

パブリック クラスFlowLogUpLoad { 

    // 文件夹的拷贝
    パブリック 静的な 無効copyDir(文字列sourcePathDir、文字列newPathDir){ 
        ファイルの開始 = 新しいファイル(sourcePathDir)。
        ファイルの末尾 = 新しいですファイル(newPathDir); 
        String []型filePathに = start.list(); //はのフォルダの下にすべてのファイルとディレクトリの名前を取得
        IF(!End.exists()){ 
            end.mkdirを(); 
        } 
        ブールフラグ= ;
         (TEMPの文字列:filePathに){
             // の状況満たすために追加の条件
            IF新しい新しい。ファイル(sourcePathDir + + File.separator TEMP)を.isFile()&& temp.endsWith( "DAT" )){
                 // ファイルコピー 
                フラグ=コピーファイル(sourcePathDir File.separator + + TEMP、File.separator newPathDir + +でTEMP); 
            } 
            IF (のフラグ){
                System.out.println( "ファイル:" + TEMP + "コピー成功!" ); 
            } { 
                System.out.printlnは( "ファイル:" + TEMP + "!、コピーに失敗しました" ); 
            } 
        } 
    } 

    // 文書のコピー
    パブリック 静的 ブールコピーファイル(sourcePathは文字列、文字列NEWPATH){
         ブールフラグに= falseに
        ファイルのReadFile = 新しい新しいファイル(sourcePathは); 
        ファイルにnewFile = 新しい新しいファイル(NEWPATH); 
        BufferedWriterの、BufferedWriterの = nullを
        ライターライター = nullを
        FileOutputStreamのFileOutputStream = nullを
        BufferedReaderのBufferedReaderの = nullを試す{ 
            のFileOutputStream = 新しいのFileOutputStream(にnewFile、真の); 
            ライター = 新しいのOutputStreamWriter(たFileOutputStream、 "UTF-8" ); 
            BufferedWriterの = 新しいBufferedWriterの(作家); 
            
            BufferedReaderの = 新しいをBufferedReader(新しいですFileReaderの(のReadFile))。
            
            文字列の行 = nullを一方、((行=はBufferedReader.readLine())!= NULL ){ 
                bufferedWriter.write(ライン)
                bufferedWriter.newLine(); 
                bufferedWriter.flush(); 
            } 
            フラグ = 
        } キャッチ(IOExceptionを電子){ 
            フラグ = 
            e.printStackTrace(); 
        } 最後に{
             しようと{
                 場合(!なBufferedWriter = NULL ){ 
                    bufferedWriter.close()。
                } 
                であれば(BufferedReaderの!= NULL ){ 
                    bufferedReader.close()。
                } 
                であれば(ライター!= NULL ){ 
                    writer.close()。
                } 
                であれば(たFileOutputStream!= NULL ){ 
                    fileOutputStream.close()。
                } 
            } キャッチ(IOExceptionを電子){ 
                e.printStackTrace(); 
            } 
        } 
        リターンフラグ。
    }
    
    パブリック 静的 ボイドメイン(文字列[]引数){ 
        
        文字列sourcePathは = "D:\\ 20200120前\\ホーム\\" 
        文字列NEWPATH = "E:\\ 20200120 \\の後に自宅\\" ; 
        (System.out.printの"From:" + sourcePathは)。
        System.out.print( "へ:" + NEWPATH)。
        copyDir(sourcePathは、NEWPATH)。
    } 

}

 

おすすめ

転載: www.cnblogs.com/liangxiaojin/p/12464849.html