[1] 범용 고유 식별자(UUID)
- 소프트웨어 구축에 쓰이는 식별자 표준이다.
- 고유성을 완벽하게 보장하기 위한 식별자로 국제기구에서 표준으로 정하고 있다.
- UUID 표준에 따라 이름을 부여하면 고유성을 완벽하게 보장할 수는 없지만 실제 사용상에서 중복될 가능성이 거의 없다고 인정되기 때문에 많이 사용한다.
- UUID는 128bit의 수로 표준형식에는 32개의 16진수로 표현되며 총 36개 문자 (32개 문자와 4개의 하이픈)로 된 8-4-4-4-12라는 5개의 그룹을 하이픈으로 구분한다.
ex) 550e8400-e29b-41d4-a716-446655440000
[2] 자바 클래스 UUID
return type Method int clockSequence() : int compareTo(UUID val) : boolean equals(Object obj) : static UUID fromString(String name) : long getLeastSignificantBits() : long getMostSignificantBits() : int hashCode() : static UUID nameUUIDFromBytes(byte[] name) : long node() : static UUID randomUUID() : long timestamp() : String toString() : int variant() : int version() :
1. UUID 형태 :
- java.util.UUID
- public final class UUID
- extends Object
- implements Serializable, Comparable<UUID>
2. 메서드
이 UUID 에 관련한 클락 순차 순서치
이 UUID 가 지정된 UUID 와 비교합니다.
이 오브젝트가 지정된 오브젝트와 비교합니다.
toString()
메소드에 설명되고 있도록(듯이), 캐릭터 라인 표준 표현으로부터 UUID
를 작성합니다.
이 UUID 의 128 비트치의 최하정도 64 비트를 돌려줍니다.
이 UUID 의 128 비트치의 최상정도 64 비트를 돌려줍니다.
이 UUID
의 해시 코드를 돌려줍니다
지정된 바이트 배열에 근거하는, 타입 3 (이름 베이스) UUID
취득용의 Static 팩토리입니다.
이 UUID 에 관련한 노드치
타입 4 (의사 랜덤 생성) UUID 를 취득하기 위한 static 팩토리
이 UUID 에 관련한 타임 스탬프치
이 UUID
를 나타내는 String
오브젝트를 돌려줍니다.
이 UUID
에 관련지을 수 있었던 형식 번호입니다.
이 UUID
에 관련지을 수 있었던 버젼 번호입니다.
3. 적용하기
public static File createFile(String folderPath, String original){
File file = new File(folderPath, original);
if(file.isFile()){
String changeFileName=System.currentTimeMillis()+"_"+UUID.randomUUID().toString().replace("-", "")+"_"+original;
file=new File(folderPath, changeFileName);
}
return file;
}
-위함수는 File 인스턴스를 생성하는 동일한 파일명이 존재할 시 System.currentTimeMillis() 함수와 UUID.randomUUID 함수를 이용하여 File 명을 변경한 후 file인스턴스를 return 하는 함수이다.
이렇게 하면 구현하면 중복되는 파일의 이름을 방지할 수 있다.