본문 바로가기
JAVA

UUID로 파일 이름 중복 방지하기

by enai 2019. 9. 17.

UUID는 범용 고유 식별자(Universally Unique IDentifier)를 뜻한다.

UUID에 관한 더 자세한 내용은 Kakao DB Team MySQL 서버에서 UUID 활용에서 참고.

 

 

파일을 업로드할 때, 같은 이름의 파일을 업로드하면 기존 파일이 다른 파일로 덮어씌워질 수 있다.

이를 방지하기 위해 파일의 이름을 UUID로 생성하여 저장하고자 한다.

UUID가 중복이 전혀 없는 것은 아니지만, 중복될 확률은 희박하다고 한다.

그래도 미연의 상황을 방지하고자 한다면, File 객체의 exists()를 활용하여 같은 파일이 있는지 확인하고, 뒤에 숫자나 날짜 등을 붙여주는 코드를 추가하면 될 것이다.

 

 

아래 코드는 UUID를 랜덤으로 생성하는 코드이다.

 

String extension = fileName.substring(fileName.lastIndexOf("."), fileName.length());

UUID uuid = UUID.randomUUID();
String newFileName = uuid.toString() + extension;

 

java.util 패키지의 UUID 클래스를 사용한다.

UUID.randomUUID()로 랜덤으로 UUID를 생성한다.

toString()으로 UUID를 String 객체로 변환하고, 뒤에 파일 확장자를 붙여준다.

 

이제 새로 만들어진 newFileName으로 파일을 업로드하면 된다.

 

파일 업로드하는 방법은

파일 업로드 & 다운로드 ← 여기에서 확인할 수 있다.

 

 

 

출처)

Java Platform SE 8 API document - Class UUID

댓글