본문 바로가기
Backend/JAVA

java.nio.2 의 Files 와 Path 를 활용한 파일 복사하기

by 지구 2018. 7. 26.
oracle doc > https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html

 

스케줄을 복사할 때 이미지도 복사 할 일이 생겨서

기존에 알고 있던 FileInputStream, FileOuputStream, BufferedReader.. 이런 클래스들을 사용하려다

더 쉬운방법이 있지 않을까 검색하다 나온 java.nio 클래스를 활용하는 방법!

( java.nio 클래스도 있지만 훨씬 더 간편하고 속도도 빠른 java.nio.2 를 사용했다. )

jdk 1.7 이상 제공하는 java.nio 를 사용하니 코드가.. 정말 순식간에 짧아지고 편해졌다..

 

* 사용방법 *

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
 
//스케줄이미지 복사
System.out.println("@1 이미지 복사 시작");
 
String fileName = "copy_"+user.getUserId()+"_schedule"+scheduleNo;
System.out.println("@2 새로운 이미지 이름 : " + fileName);
 
Path newFilePath = Paths.get(request.getRealPath("/images/schedule")+"\\"+fileName);
System.out.println("@3 새로운 이미지 경로 : " + newFilePath);
 
Path originFilePath = Paths.get(request.getRealPath("/images/schedule")+"\\"+schedule.getScheduleImg());
System.out.println("@4 원본 이미지 경로 : " + originFilePath);
 
Files.copy(originFilePath, newFilePath);
System.out.println("@5 이미지 복사 성공");
 
schedule.setScheduleImg( fileName );
cs

 

반응형

댓글