컴공생의 다이어리
[자바, Java] Apache Commons Lang을 사용해 랜덤 문자열 생성 본문
Java Apache Commons Lang을 사용해 랜덤 문자열 생성
랜덤 문자열을 생성하고자 할 때, 직접 구현해도 되지만 이미 구현되어 있는 라이브러리를 사용하는 것이 더 편리하다. 오늘은 이미 구현되어 있는 라이브러리인 Apache Commons Lang을 사용해 랜덤 문자열을 생성하는 것에 대해서 정리하고자 한다.
Apache Commons Lang을 사용하려면 직접 컴퓨터에 다운받거나 Maven이나 Gradle을 통해 받으면 된다. 만일 컴퓨터에 다운받으려고 한다면 아래 링크에서 버전을 선택해서 다운받으면 된다.
https://commons.apache.org/proper/commons-lang/download_lang.cgi
Gradle이나 Maven으로 다운받기 위해서는 아래 링크에서 원하는 버전을 선택해 적용하면 된다.
https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
나의 경우에는 build.gradle에 아래와 같이 추가했다.
implementation 'org.apache.commons:commons-lang3:3.12.0'
RandomStringUtils Method
RandomStringUtils.random(int count)
- 임의의 문자를 count만큼 랜덤으로 생성
- count : 문자열 길이
RandomStringUtils.random(int count, char[] chars)
- 지정한 char 배열에서 count만큼 랜덤으로 생성
- count : 문자열 길이
- chars : 문자 배열
RandomStringUtils.random(int count, String chars)
- 지정한 문자열에서 count만큼 랜덤으로 생성
- count : 문자열 길이
- chars : 문자열
RandomStringUtils.random(int count, int start, int end, boolean letters, boolean number)
- 임의의 문자를 start부터 end까지의 범위에서 count만큼 랜덤으로 생성
- count : 문자열 길이
- start : 아스키코드 처음
- end : 아스키코드 마지막
- letters : true 선택시 문자 포함 생성, false 선택시 문자 포함 X
- numbers : true 선택시 숫자 포함 생성, false 선택시 숫자 포함 X
RandomStringUtils.randomAlphabetic(int count)
- 영문 대소문자를 count만큼 랜덤으로 생성
- count : 문자열 길이
RandomStringUtils.randomNumeric(int count)
- 숫자를 count만큼 랜덤으로 생성
- count : 문자열 길이
RandomStringUtils.randomAlphanumeric(int count)
- 대소문자, 숫자를 count만큼 랜덤으로 생성
- count : 문자열 길이
RandomStringUtils.randomAscii(int count)
- 아스키코드를 count만큼 랜덤으로 생성
- count : 문자열 길이
import org.apache.commons.lang3.RandomStringUtils;
public class RandomString {
public static void main(String[] args) {
// 임의의 문자를 count만큼 랜덤으로 생성
System.out.println(">>>> RandomStringUtils.random(int count)");
System.out.println(RandomStringUtils.random(10));
// 지정한 char 배열에서 count만큼 랜덤으로 생성
System.out.println(">>>> RandomStringUtils.random(int count, char[] chars)");
System.out.println(RandomStringUtils.random(10, new char[]{'A', 'B', 'C'}));
// 지정한 문자열에서 count만큼 랜덤으로 생성
System.out.println(">>>> RandomStringUtils.random(int count, String chars)");
System.out.println(RandomStringUtils.random(10, "ABC"));
// 임의의 문자를 start부터 end까지의 범위에서 count만큼 랜덤으로 생성
System.out.println(">>>> RandomStringUtils.random(int count, int start, int end, boolean letters, boolean number)");
System.out.println(RandomStringUtils.random(10, 33, 125, false, false));
System.out.println(RandomStringUtils.random(10, 33, 125, true, false));
System.out.println(RandomStringUtils.random(10, 33, 125, false, true));
System.out.println(RandomStringUtils.random(10, 33, 125, true, true));
// 영문 대소문자를 count만큼 랜덤으로 생성
System.out.println(">>>> RandomStringUtils.randomAlphabetic(int count)");
System.out.println(RandomStringUtils.randomAlphabetic(10));
// 숫자를 count만큼 랜덤으로 생성
System.out.println(">>>> RandomStringUtils.randomNumeric(int count)");
System.out.println(RandomStringUtils.randomNumeric(10));
// 대소문자, 숫자를 count만큼 랜덤으로 생성
System.out.println(">>>> RandomStringUtils.randomAlphanumeric(int count)");
System.out.println(RandomStringUtils.randomAlphanumeric(10));
// 아스키코드를 count만큼 랜덤으로 생성
System.out.println(">>>> RandomStringUtils.randomAscii(int count)");
System.out.println(RandomStringUtils.randomAscii(10));
}
}
https://devbible.tistory.com/394
728x90
'Development > Java' 카테고리의 다른 글
[자바, Java] 배열 일괄 초기화 - Arrays.fill() (0) | 2023.02.25 |
---|---|
[자바, Java] 예외(Exception) 발생 시키기 - throw, throws (0) | 2022.02.22 |
[자바, Java] 설치한 여러 JDK 간편하게 전환 (4) | 2022.01.06 |
[자바, Java] OpenJDK 1.8 설치 (0) | 2022.01.05 |
[자바, Java] 스터디 사이트 추천 (0) | 2021.12.22 |
Comments