실험용 데이터를 생성하기 위하여 이번에 관련 프로그램을 찾으려 했으나 결국 찾지 못하여 만든 프로그램이다. dk.brics.automaton 패키지를 활용하는 Xeger 라이브러리를 사용하여 매우 간단하게 구현할 수 있었다.(유니코드를 원활히 지원한다) 또한 이들을 한데 모아 exe형태로 재구성 함으로서 윈도우 상에서 손쉽게 실행될 수 있도록 하였다. 프로그램을 실행시키면 콘솔에서 입력을 기다리며, 입력이 완료되면 result.txt에 저장한다. 중복생성은 검사하지 않는다.
import java.io.FileWriter;
import java.util.Scanner;
import nl.flotsam.xeger.Xeger;
public class test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try{
System.out.println("Type the regular expression:");
String regex = scanner.nextLine();
Xeger generator = new Xeger(regex);
System.out.println("Type the number of entries you want to generate:");
int num = Integer.parseInt(scanner.nextLine());
BufferedWriter writer = new BufferedWriter(new FileWriter("result.txt"));
int i=-1;
String gen=null;
while(++i<num){
gen=generator.generate();
writer.append(gen+"\r\n");
}
writer.flush();
writer.close();
System.out.println("Last entry : "+gen);
System.out.println(i+" entries generated and written in result.txt!");
}catch(Exception e){
e.printStackTrace();
System.err.println("Error occured!");
}
}
}
'Computer > Java / JSP' 카테고리의 다른 글
| 정규표현식 기반 랜덤문자열 생성 프로그램 (0) | 2012/05/04 |
|---|---|
| JFace MenuManager 사용하기 #1. 프로그램 상단메뉴 추가 (0) | 2012/02/06 |
| SWT에서의 GC, Drawable, Canvas #2. Canvas의 기능과 사용 (0) | 2012/01/15 |
| SWT에서의 GC, Drawable, Canvas #1. 설명 (0) | 2011/11/23 |
| Jrtp라이브러리를 사용하여 Java에서 RTP사용하기 (0) | 2011/11/17 |
| [Java] Byte 배열과 (바이너리)문자열 상호 변환하기 (0) | 2011/11/15 |
regexgen_frontjang.exe
댓글을 달아 주세요