ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA/자바] 파일 이동 ( 복사 / 삭제 )
    Language/Java 2018. 3. 19. 12:15
    반응형


    파일이동 ( 복사 / 삭제 )

    FileMove ( Copy / delete )

    만들고 싶은 기능

    1. 파일을 복사할 수 있어야 한다.

    2. 파일을 삭제할 수 있어야 한다.

    3. 파일의 경로를 불러 와야 한다.

    4. 현재 바이너리 

       ( = 폴더 / FileMove.java 가 존재하는 폴더 )

       에 복사한 파일을 붙여넣기 한다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    import java.io.*;
    import java.util.*;
     
    class FileMove{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        FileInputStream fis;
        FileOutputStream fos;
        String fileName1 , fileName2 , line;
        File file1 , file2;
     
        void input(){
            System.out.print("  [1] : 복사\n  [2] : 삭제\n>> ");
            try{
                line = br.readLine().trim();
                if(line.length() != 0){
                    if(line.equals("1"|| line.equals("2")){
                        int i = Integer.parseInt(line);
                        path(i);
                    }else{
                        System.out.println(">> [1] , [2] 만을 입력해 주세요.");
                        input();
                    }
                }else{
                    System.out.println(">> 다시 확인해주세요.");
                    input();
                }
            }catch(IOException ioe){
            }catch(NumberFormatException nfe){
                System.out.println(">> [1] , [2] 만을 입력해 주세요.");
                input();
            }
        }
     
        void path(int i){
            try{
                if(i == 1){
                    System.out.println("\n>> 복사할 파일 정보를 입력해주세요. (확장자 포함)");
                    fileName1 = br.readLine().trim();
                    file1 = new File(fileName1);
                    System.out.println("\n>> 복사될 파일이 들어갈 폴더명을 입력해주세요. (기본 : 엔터)");
                    fileName2 = br.readLine().trim();
                    file2 = new File(fileName2);
                    file2.mkdirs();
                    fileName2 += "\\" + file1.getName();
                    fileCopy(fileName1 , fileName2);
                }else if(i == 2){
                    System.out.println("\n>> 삭제할 파일 정보를 입력해주세요. (확장자 포함)");
                    fileName1 = br.readLine().trim();
                    file1 = new File(fileName1);
                    file1.delete();
                    System.out.println("\n>> DELETE COMPLETE");
                }
            }catch(IOException ioe){}
        }
     
        void fileCopy(String fileName1 , String fileName2){
            byte b[] = new byte[64];
            try{
                fis = new FileInputStream(fileName1);
                fos = new FileOutputStream(fileName2);
                int i = 0;
                while((i=fis.read(b)) != -1){
                    fos.write(b , 0 , i);
                }
                fos.flush();
                System.out.println("\n>> COPY COMPLETE");
            }catch(FileNotFoundException fnfe){
                System.out.println(">> 파일을 찾을수 없습니다. \n└> 프로그램을 종료합니다.");
                System.exit(0);
            }catch(IOException ioe){
            }finally{
                try{
                    if(fis != null) fis.close();
                    if(fos != null) fos.close();
                }catch(Exception e){}
            }
     
        }
        
        public static void main(String[] args){
            FileMove fm = new FileMove();
            fm.input();
        }
    }
    cs






    복사할 파일의 경로와 파일이름.확장자 까지 입력하고,

    현재 바이너리에 폴더 download 를 생성한다.

    그안에 파일이 복사된 것을 확인 할 수 있다.




    파일의 경로\파일이름.확장자 까지 입력하여 그 파일을 삭제할 수 있다.




    복사될 파일이 들어갈 폴더명을 입력해주세요.

    에서 그냥 엔터를 치게 되면 , FileMove.class 가 있는 폴더 내에 복사하게 된다.


    참고

    1. IO 입출력 ( BufferedReader / InputStream / OutputStream )

    2. 예외 처리 ( try{}catch(){} )

    3. 조건문 ( if()else if(){} else{} )

    4. 반복문 ( while(){} )

    반응형
Designed by Tistory.