StringTokenizer 로 문자열 분해 하기

2668 단어 자바
자바 분할 문자열 은 보통 substring,split,StringTokenizer 를 사용 합 니 다.앞의 두 가 지 는 String 대상 의 방법 입 니 다.문자열 을 사용 하면 직접 처리 할 수 있 습 니 다.본 고 는 StringTokenizer 의 사용 을 소개 합 니 다.StringTokenizer 의 실례 화 는 new 방식 을 사용 합 니 다.구조 방법 은 최대 3 개의 매개 변수 가 있다.
StringTokenizer(String str, String delim, boolean returnDelims)

첫 번 째 매개 변 수 는 우리 가 처리 해 야 할 문자열 입 니 다.두 번 째 매개 변 수 는 문자열 을 분할 하 는 분할 표시 문자 입 니 다.delim 의 기본 값 은'\t\r\f'입 니 다.세 번 째 매개 변 수 는 분할 태그 문자 자 체 를 포함 하 는 지 여부 입 니 다.기본 값 은 false 입 니 다.
StringTokenizer 의 방법 hasMoreElements()와 hasMoreElements()의 용법 은 같 습 니 다.다만 StringTokenizer 가 Enumeration 인 터 페 이 스 를 실현 하기 위해 실현 하 는 방법 입 니 다.StringTokenizer 의 방법 nextElements()와 nextToken()의 용법 은 같 습 니 다.StringTokenizer 의 다음 표 시 를 되 돌려 줍 니 다.
다음은 실례 를 드 리 겠 습 니 다.
    public static void main(String[] args) {
        StringBuffer str = new StringBuffer();
        String s = "|struts.xml,1451210087873.xml,.xml,#OA     .txt,1451210087857.txt,.txt,";
// for (int i = 0; i < 500000; i++) {
            str.append(s);
// }

        String temp = null;
        long begin = System.currentTimeMillis();

        StringTokenizer token = new StringTokenizer(str.toString(),"|#");
        while(token.hasMoreTokens()){
            temp = token.nextToken();
            StringTokenizer token1 = new StringTokenizer(temp,",");
            if(token1.hasMoreTokens()){//        
                System.out.println(token1.nextToken());
            }
        }
        System.out.println("  :" + (System.currentTimeMillis() - begin));// 9460
    }

이 예 는 파일 이름 을 출력 하기 위해'|'과'\#'이 모두 지원 하 는 효 과 를 직접 사용 합 니 다.String 의 substring 과 split 보다 String Tokenizer 가 좋 습 니 다.작은 데 이 터 는 양 적 으로 아무것도 나타 나 지 않 습 니 다.만약 에 빅 데이터 조작 이 라면 StringTokenizer 의 성능 이론 적 으로 우수 하고 다른 두 가지 입 니 다.

좋은 웹페이지 즐겨찾기