-
[JAVA/자바] 파일 이동 ( 복사 / 삭제 )Language/Java 2018. 3. 19. 12:15반응형
파일이동 ( 복사 / 삭제 )
FileMove ( Copy / delete )
만들고 싶은 기능
1. 파일을 복사할 수 있어야 한다.
2. 파일을 삭제할 수 있어야 한다.
3. 파일의 경로를 불러 와야 한다.
4. 현재 바이너리
( = 폴더 / FileMove.java 가 존재하는 폴더 )
에 복사한 파일을 붙여넣기 한다.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384import 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 )
반응형'Language > Java' 카테고리의 다른 글
[JAVA 39] 자바 File Stream / Data Stream ( I / O ) (0) 2018.04.28 [JAVA/자바] 디렉토리 복사 (0) 2018.04.28 [JAVA/자바] 달력 ( Calendar ) 만들기 (3) 2018.03.17 [JAVA/자바] 제비뽑기 다수 인원 뽑기 [가변배열/Vector/Hashtable] (0) 2018.03.15 [JAVA/자바] 제비뽑기 확률 조정 100% 까지 [가변배열/Vector/ArrayList] (0) 2018.03.14