자바는 다른 폴더로 폴더의 모든 파일을 복사

장면 : 다른 폴더로 폴더에있는 모든 파일을 복사

코드 :

패키지 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); 
        문자열 []적인 filePath = start.list (); //이 의 폴더 아래에있는 모든 파일 및 디렉토리의 이름을 얻을 
        IF (! End.exists ()) { 
            end.mkdir를 (); 
        } 
        부울 깃발 = 거짓 ;
         에 대한 (임시 문자열 :적인 filePath) {
             // 의 상황에 맞게 추가 조건 
            IF ( 새 새 . 파일 (sourcePathDir + + Win32 시스템 임시을) .isFile () && temp.endsWith ( "DAT" )) {
                 // 파일 카피 
                플래그 = CopyFile 수 (sourcePathDir Win32 시스템 + + TEMP는 Win32 시스템 newPathDir +가 +에서 TEMP) 
            } 
            IF (인 플래그) {
                에서 System.out.println ( "파일 :"+ 임시 + ", 복사 성공!" ); 
            } 다른 { 
                에서 System.out.println ( "파일 :"+ 임시 + "!, 복사 실패" ); 
            } 
        } 
    } 

    // 문서의 복사 
    공공의  정적  부울 CopyFile 수 (소스 패스 문자열, 문자열 newpath를) {
         부울 플래그 = false로 , 
        파일에서 ReadFile = 새 새 파일 (소스 패스) 
        NewFile 파일 = 새로운 새로운 파일 (newpath를) 
        BufferedWriter로, BufferedWriter로 = 널 (null) ;
        작가 작가 = 널 (null) ; 
        FileOutputStream에의 FileOutputStream = ; 
        BufferedReader로의 BufferedReader = ;
        시도 { 
            의 FileOutputStream은 =  (이를 새, FileOutputStream에 사실을 ); 
            작가는 =  의 OutputStreamWriter (FileOutputStream에, "UTF-8" ); 
            BufferedWriter로는 = 새로운 BufferedWriter의 (작가); 
            
            BufferedReader로는 = 새로운 BufferedReader로 ( 새를을 FileReader (ReadFile을)); 
            
            문자열 라인 = 널 (null) ;
            반면 ((라인 bufferedReader.readLine = ())! = null의 ) { 
                bufferedWriter.write (행); 
                () bufferedWriter.newLine; 
                () bufferedWriter.flush; 
            } 
            플래그 = 진정한 ;    
        } 캐치 (IOException이 전자) { 
            플래그 = 거짓 ; 
            e.printStackTrace (); 
        } 마지막으로 {
             시도 {
                 경우(! = BufferedWriter의 ) { 
                    bufferedWriter.close (); 
                } 
                경우 (BufferedReader로! = null의 ) { 
                    bufferedReader.close (); 
                } 
                경우 (작가! = null이 ) { 
                    writer.close (); 
                } 
                경우 (FileOutputStream에! = null의 ) { 
                    fileOutputStream.close (); 
                } 
            } 캐치 (IOException이 전자) { 
                e.printStackTrace (); 
            } 
        } 
        반환  플래그를;
    }
    
     공공  정적  무효 메인 (문자열 []에 args) { 
        
        문자열 SOURCEPATH = "D : \\ 20,200,120 전에 홈 \\ \\" ; 
        문자열 newpath를 = "E : \\ 20,200,120 후 \\ 집 \\" ; 
        (System.out.print "에서"+ 원본 경로); 
        System.out.print ( "받는 사람 :"+ newpath를); 
        copyDir (SOURCEPATH, newpath가); 
    } 

}

 

추천

출처www.cnblogs.com/liangxiaojin/p/12464849.html