데이터베이스 테이블 이름 에 따라 사전 을 생 성하 여 입력 법 을 가 져 옵 니 다.입력 이 편리 하 다.
import java.io.File;
import java.io.FileReader;
import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DictGenerator {
/**
* @param args
* @throws IOException
* @throws InterruptedException
*/
private List<String> lst = new ArrayList<String>();
private Map<String , String> dict = new HashMap<String , String>();
// key ,
private int maker = 1;
public static void main(String[] args) throws Exception {
String path = "C:\\s.txt";
DictGenerator dic = new DictGenerator();
dic.locatedFile(path);
dic.calc();
}
/*
* key
*/
public String generate(String original){
StringBuilder outputStr = new StringBuilder();
char prefix = original.trim().charAt(0);
outputStr.append(Character.toString(prefix));
for ( int i = 0 ; i<original.trim().length();i++ ){
if ( original.charAt(i) == '_'){
char key = original.charAt(i+1);
outputStr.append(Character.toString(key));
}
}
String key = outputStr.toString().toLowerCase();;
// key , !
if ( !lst.contains(key) ){
lst.add(key);
dict.put(key, original);
return key;
}else{
String temp = key + (maker++);
lst.add(temp);
dict.put(temp, original);
return temp;
}
}
/*
* , key 。
*/
public void locatedFile(String sourcePath) throws Exception{
FileReader reader = new FileReader(new File(sourcePath));
LineNumberReader br = new LineNumberReader(reader);
String str = null;
while ( (str=br.readLine()) != null){
System.out.print(this.generate(str)+ "\t");
System.out.println(str);
}
br.close();
reader.close();
}
public void calc(){
System.out.println("list :" + lst.size());
System.out.println("map :" + dict.size());
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.