StreamTokenizer (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

## java.io
클래스 StreamTokenizer

    java.lang.Object
      java.io.StreamTokenizer

    public class StreamTokenizer

extends Object

`StreamTokenizer` 클래스는, 입력 스트림을 인수에 취해, 그것을 「토큰」에 구문 분석 해, 한 번에 1 개의 토큰을 읽을 수 있도록(듯이) 합니다. 구문 분석 처리는, 다양한 상태로 설정 가능한 몇개의 플래그와 1 개의 테이블에 의해 제어됩니다. 스트림토크나이자는, 식별자, 수치, 인용 캐릭터 라인, 및 각종의 코멘트 스타일을 인식할 수 있습니다.

입력 스트림로부터 읽히는 각 바이트는,`'\u0000'` ~ `'\u00FF'` 의 범위의 문자로 간주해집니다. 이 문자치를 사용해, 문자의 5 개의 속성, 즉, 「공백」, 「영문자」, 「수치」, 「인용 캐릭터 라인」, 및 「코멘트 문자」를 검색합니다. 각 문자는, 이러한 속성을 가지지 않는 것도, 복수 가질 수도 있습니다.

게다가 인스턴스에는 4 개의 플래그가 있습니다. 이러한 플래그가 가리키는 내용은 다음과 같습니다.

- 줄 끝 기호를, 토큰으로서 돌려주는지, 또는 토큰을 단락지을 뿐(만큼)의 공백 문자로서 취급하는지를 나타낸다
- C 스타일의 코멘트를 인식해 스킵 할지 어떨지를 나타낸다
- C++ 스타일의 코멘트를 인식해 스킵 할지 어떨지를 나타낸다
- 식별자의 문자를 소문자로 변환할지 어떨지를 나타낸다

일반적인 어플리케이션은, 최초로 이 클래스의 인스턴스를 생성하고 나서, 구문 테이블을 설정해, 그 후에 루프의 각 반복내에서 `nextToken` 메소드를 호출해, 값 `TT_EOF` 가 돌려주어질 때까지 이 루프를 반복합니다.

도입된 버젼:
  JDK1. 0
관련 항목:
  `nextToken()` , `TT_EOF`

필드의 개요
`double` | `nval` 현재의 토큰이 수치의 경우, 이 필드에는 그 수치가 들어갑니다.
`String` | `sval` 현재의 토큰이 워드 토큰의 경우, 이 필드에는, 워드 토큰의 문자를 나타내는 캐릭터 라인이 들어갑니다.
`static int` | `TT_EOF` 스트림의 마지막이 읽힌 것을 나타내는 정수입니다.
`static int` | `TT_EOL` 행의 마지막이 읽힌 것을 나타내는 정수입니다.
`static int` | `TT_NUMBER` 수치 토큰이 읽힌 것을 나타내는 정수입니다.
`static int` | `TT_WORD` 워드 토큰이 읽힌 것을 나타내는 정수입니다.
`int` | `ttype` `nextToken` 메소드의 호출뒤, 이 필드에는 읽힌지 얼마 안된 토큰의 형태가 들어갑니다.

생성자 의 개요

`StreamTokenizer (InputStream is)`
추천 되고 있지 않습니다. JDK 1.1 현재, 입력 스트림을 토큰화하려면 , 다음과 같이 해 입력 스트림을 문자 스트림로 변환할 방법이 적절합니다.

>        Reader r = new BufferedReader(new InputStreamReader(is));
>        StreamTokenizer st = new StreamTokenizer(r);

`StreamTokenizer (Reader r)` 지정된 문자 스트림을 구문 분석 하는 토크나이자를 작성합니다.

메소드의 개요
`void` | `commentChar (int ch)` 인수로 지정된 문자 이후는, 1 행의 코멘트행인 것을 지정합니다.
`void` | `eolIsSignificant (boolean flag)` 행의 마지막을 토큰으로서 처리할지 어떨지를 판별합니다.
`int` | `lineno ()` 현재의 행 번호를 돌려줍니다.
`void` | `lowerCaseMode (boolean fl)` 워드 토큰을 자동적으로 소문자로 할지 어떨지를 판별합니다.
`int` | `nextToken ()` 이 토크나이자의 입력 스트림의 다음의 토큰을 구문 분석 합니다.
`void` | `ordinaryChar (int ch)` 문자 인수가 이 토크나이자의 「일반적으로」문자인 것을 지정합니다.
`void` | `ordinaryChars (int low, int hi)` `low <= c <= high` 의 범위내의 모든 문자 c 가, 이 토크나이자의 「일반적으로」문자인 것을 지정합니다.
`void` | `parseNumbers ()` 이 토크나이자로 수치를 구문 분석 하도록(듯이) 지정합니다.
`void` | `pushBack ()` 이 토크나이자의 다음의 `nextToken` 메소드 호출로 `ttype` 필드의 현행치를 돌려주어,`nval` 또는 `sval` 필드의 값은 변경하지 않게 합니다.
`void` | `quoteChar (int ch)` 이 문자에 일치하는 페어로, 이 토크나이자의 캐릭터 라인 정수를 단락짓도록(듯이) 지정합니다.
`void` | `resetSyntax ()` 이 토크나이자의 구문 테이블을 리셋 해, 모든 문자를 「일반적으로」문자로 합니다.
`void` | `slashSlashComments (boolean flag)` 토크나이자가 C++ 스타일의 코멘트를 인식할지 어떨지를 판별합니다.
`void` | `slashStarComments (boolean flag)` 토크나이자가 C 스타일의 코멘트를 인식할지 어떨지를 판별합니다.
`String` | `toString ()` 현재의 스트림 토큰의 캐릭터 라인 표현과 그것이 발생하는 행 번호를 돌려줍니다.
`void` | `whitespaceChars (int low, int hi)` `low <= c <= high` 의 범위내의 모든 문자 c 가 공백 문자인 것을 지정합니다.
`void` | `wordChars (int low, int hi)` `low <= c <= high` 의 범위내의 모든 문자 c 가 워드 원가요소인 것을 지정합니다.

클래스 java.lang. Object 로부터 상속된 메소드
`clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait`

필드의 상세

### ttype

    public int ttype

  `nextToken` 메소드의 호출뒤, 이 필드에는 읽힌지 얼마 안된 토큰의 형태가 들어갑니다. 단일 문자 토큰의 경우, 그 값은 정수에 변환된 단일 문자입니다. 인용 캐릭터 라인 토큰의 경우, 그 값은 인용 문자입니다. 그 이외의 경우는, 다음의 값의 어느 쪽인가에 됩니다.
  - `TT_WORD` 는, 토큰이 워드인 것을 나타냅니다.
  - `TT_NUMBER` 는, 토큰이 수치인 것을 나타냅니다.
  - `TT_EOL` 는, 행의 마지막에 이른 것을 나타냅니다. 필드에 이 값이 들어오는 것은, 인수에 `true` 를 지정해 `eolIsSignificant` 메소드가 불려 갔을 경우만입니다.
  - `TT_EOF` 는, 입력 스트림의 마지막에 이른 것을 나타냅니다.

  이 필드의 초기치는 -4 입니다.

  관련 항목:
    `eolIsSignificant(boolean)` , `nextToken()` , `quoteChar(int)` , `TT_EOF` , `TT_EOL` , `TT_NUMBER` , `TT_WORD`

### TT_EOF

    public static final int TT_EOF

  스트림의 마지막이 읽힌 것을 나타내는 정수입니다.

  관련 항목:
    정수 필드치

### TT_EOL

    public static final int TT_EOL

  행의 마지막이 읽힌 것을 나타내는 정수입니다.

  관련 항목:
    정수 필드치

### TT_NUMBER

    public static final int TT_NUMBER

  수치 토큰이 읽힌 것을 나타내는 정수입니다.

  관련 항목:
    정수 필드치

### TT_WORD

    public static final int TT_WORD

  워드 토큰이 읽힌 것을 나타내는 정수입니다.

  관련 항목:
    정수 필드치

### sval

    public String  sval

  현재의 토큰이 워드 토큰의 경우, 이 필드에는, 워드 토큰의 문자를 나타내는 캐릭터 라인이 들어갑니다. 현재의 토큰이 인용 캐릭터 라인 토큰의 경우, 이 필드에는, 캐릭터 라인의 본체가 들어갑니다.

  `ttype` 필드의 값이 `TT_WORD` 의 경우, 현재의 토큰은 워드입니다. `ttype` 필드의 값이 인용 문자의 경우, 현재의 토큰은 인용 캐릭터 라인 토큰입니다.

  이 필드의 초기치는 null 입니다.

  관련 항목:
    `quoteChar(int)` , `TT_WORD` , `ttype`

### nval

    public double nval

  현재의 토큰이 수치의 경우, 이 필드에는 그 수치가 들어갑니다. `ttype` 필드가 `TT_NUMBER` 의 경우, 현재의 토큰은 수치입니다.

  이 필드의 초기치는 0.0 입니다.

  관련 항목:
    `TT_NUMBER` , `ttype`

생성자 의 상세

### StreamTokenizer

    @Deprecated
    public StreamTokenizer(InputStream  is)

  추천 되고 있지 않습니다. JDK 1.1 현재, 입력 스트림을 토큰화하려면 , 다음과 같이 해 입력 스트림을 문자 스트림로 변환할 방법이 적절합니다.

  >        Reader r = new BufferedReader(new InputStreamReader(is));
  >        StreamTokenizer st = new StreamTokenizer(r);

  지정된 입력 스트림을 구문 분석 하는 스트림토크나이자를 작성합니다. 스트림토크나이자는, 다음의 디폴트 상태에 초기화됩니다.
  - `'A'` ~ `'Z'`,`'a'` ~ `'z'`, 및 `'\u00A0'` ~ `'\u00FF'` 의 바이트치는 모두 영문자로 간주한다
  - `'\u0000'` ~ `'\u0020'` 의 바이트치는 모두 공백으로 간주한다
  - `'/'` 는 코멘트 문자
  - 단일 인용부호 `'\''` 와 이중 인용부호 `'"'` 는 캐릭터 라인의 인용 문자
  - 수치는 구문 분석 된다
  - 줄 끝 기호는, 독립한 토큰은 아니고 공백 문자로서 취급한다
  - C 스타일 및 C++ 스타일의 코멘트는 인식하지 않는다

  파라미터:
    `is` - 입력 스트림
  관련 항목:
    `BufferedReader` , `InputStreamReader` , `StreamTokenizer(java.io.Reader)`

### StreamTokenizer

    public StreamTokenizer(Reader  r)

  지정된 문자 스트림을 구문 분석 하는 토크나이자를 작성합니다.

  파라미터:
    `r` - 입력 스트림을 제공하는 Reader 객체
  도입된 버젼:
    JDK1. 1

메소드의 상세

### resetSyntax

    public void resetSyntax()

  이 토크나이자의 구문 테이블을 리셋 해, 모든 문자를 「일반적으로」문자로 합니다. 일반적으로 문자의 자세한 것은,`ordinaryChar` 메소드를 참조해 주세요.

  관련 항목:
    `ordinaryChar(int)`

### wordChars

    public void wordChars(int low,
                          int hi)

  `low <= c <= high` 의 범위내의 모든 문자 c 가 워드 원가요소인 것을 지정합니다. 워드 토큰은, 워드 원가요소의 뒤로 제로개이상의 워드 원가요소 또는 수치 원가요소가 계속된 것입니다.

  파라미터:
    `low` - 범위의 최소치
    `hi` - 범위의 최대치

### whitespaceChars

    public void whitespaceChars(int low,
                                int hi)

  `low <= c <= high` 의 범위내의 모든 문자 c 가 공백 문자인 것을 지정합니다. 공백 문자의 기능은, 입력 스트림내에서 토큰을 단락짓는 것 뿐입니다.

  지정된 범위내의 문자에 대한 그 외의 속성의 설정은 모두 클리어 됩니다.

  파라미터:
    `low` - 범위의 최소치
    `hi` - 범위의 최대치

### ordinaryChars

    public void ordinaryChars(int low,
                              int hi)

  `low <= c <= high` 의 범위내의 모든 문자 c 가, 이 토크나이자의 「일반적으로」문자인 것을 지정합니다. 일반적으로 문자의 자세한 것은,`ordinaryChar` 메소드를 참조해 주세요.

  파라미터:
    `low` - 범위의 최소치
    `hi` - 범위의 최대치
  관련 항목:
    `ordinaryChar(int)`

### ordinaryChar

    public void ordinaryChar(int ch)

  문자 인수가 이 토크나이자의 「일반적으로」문자인 것을 지정합니다. 코멘트 문자, 워드 원가요소, 캐릭터 라인 단락 문자, 공백, 또는 수치 문자로서 문자가 가지는 특수한 의미는 제거됩니다. 퍼서는, 이러한 문자를 검출하면(자), 이것을 단일의 문자 토큰으로서 취급해,`ttype` 필드에 문자의 값을 설정합니다.

  줄 끝 기호를 「일반적으로」문자로 하면(자),`StreamTokenizer` 가 행을 카운트 하는 기능에 간섭할 가능성이 있습니다. `lineno` 메소드가, 행의 카운트로 그러한 줄 끝 기호의 존재를 고려하지 않게 되는 일이 있습니다.

  파라미터:
    `ch` - 문자
  관련 항목:
    `ttype`

### commentChar

    public void commentChar(int ch)

  인수로 지정된 문자 이후는, 1 행의 코멘트행인 것을 지정합니다. 스트림토크나이자는, 코멘트 문자로부터 행의 마지막까지의 사이의 문자를 모두 무시합니다.

  지정된 문자에 대한 그 외의 속성의 설정은 모두 클리어 됩니다.

  파라미터:
    `ch` - 문자

### quoteChar

    public void quoteChar(int ch)

  이 문자에 일치하는 페어로, 이 토크나이자의 캐릭터 라인 정수를 단락짓도록(듯이) 지정합니다.

  `nextToken` 메소드가 캐릭터 라인 정수를 검출하면(자),`ttype` 필드에는 캐릭터 라인 단락 문자가 설정되어`sval` 필드에는 캐릭터 라인의 본체가 설정됩니다.

  캐릭터 라인의 인용 문자가 검출되면(자), 캐릭터 라인의 인용 문자 (이것은 포함하지 않는다)의 뒤로부터, 같은 캐릭터 라인의 인용 문자의 다음의 출현 장소, 줄 끝 기호, 또는 파일의 마지막 (이것들은 포함하지 않는다)까지의 모든 문자로 캐릭터 라인이 구성되어 있다고 인식됩니다. `"\n"` 나 `"\t"` 등의 일반적으로의 escape sequence는 인식되어 캐릭터 라인의 구문 분석시에 단일 문자에 변환됩니다.

  지정된 문자에 대한 그 외의 속성의 설정은 모두 클리어 됩니다.

  파라미터:
    `ch` - 문자
  관련 항목:
    `nextToken()` , `sval` , `ttype`

### parseNumbers

    public void parseNumbers()

  이 토크나이자로 수치를 구문 분석 하도록(듯이) 지정합니다. 이 토크나이자의 구문 테이블이 변경됩니다.

  >           0 1 2 3 4 5 6 7 8 9 .  -

  이것들 12 개의 각 문자가 「수치」속성을 가지게 됩니다.

  퍼서는, 배정밀도의 부동 소수점수(실수)의 형식의 워드 토큰을 검출하면(자),`ttype` 필드에 값 `TT_NUMBER` 를 설정해, 토큰의 수치를 `nval` 필드에 들어갈 수 있어, 이 토큰을 워드는 아니고 수치로서 취급합니다.

  관련 항목:
    `nval` , `TT_NUMBER` , `ttype`

### eolIsSignificant

    public void eolIsSignificant(boolean flag)

  행의 마지막을 토큰으로서 처리할지 어떨지를 판별합니다. flag 인수가 true 의 경우, 이 토크나이자는 행의 마지막을 토큰으로서 처리합니다. 행의 마지막이 읽히면(자),`nextToken` 메소드는 `TT_EOL` 를 돌려주어,`ttype` 필드에 이 값을 설정합니다.

  행은, 왕복대 리턴 문자 (`'\r'`) 또는 개행 문자 (`'\n'`)로 끝나는 문자 순서입니다. 또, 직후에 개행 문자가 계속되는 왕복대 리턴 문자는, 줄 끝을 나타내는 단일의 토큰으로서 다루어집니다.

  `flag` 가 false 의 경우, 줄 끝 문자는 공백으로서 다루어져 그 기능은 토큰을 단락지을 뿐입니다.

  파라미터:
    `flag` - `true` 는, 줄 끝 문자가 독립한 토큰인 것을 나타낸다. `false` 는, 줄 끝 문자가 공백인 것을 나타내는
  관련 항목:
    `nextToken()` , `ttype` , `TT_EOL`

### slashStarComments

    public void slashStarComments(boolean flag)

  토크나이자가 C 스타일의 코멘트를 인식할지 어떨지를 판별합니다. flag 인수가 `true` 의 경우, 이 스트림토크나이자는 C 스타일의 코멘트를 인식합니다. `/*` (와)과 `*/` 의 사이의 텍스트는 모두 파기됩니다.

  `false` 인수가 false 의 경우, C 스타일의 코멘트는 특별히는 다루어지지 않습니다.

  파라미터:
    `flag` - `true` 는, C 스타일의 코멘트를 인식해 무시하는 것을 나타낸다

### slashSlashComments

    public void slashSlashComments(boolean flag)

  토크나이자가 C++ 스타일의 코멘트를 인식할지 어떨지를 판별합니다. flag 인수가 `true` 의 경우, 이 스트림토크나이자는 C++ 스타일의 코멘트를 인식합니다. slash 문자 (`'/'`)가 2 개 계속되는 경우, 이것은 행의 마지막까지 계속되는 코멘트의 시작을 의미합니다.

  `false` 인수가 false 의 경우, C++ 스타일의 코멘트는 특별히는 다루어지지 않습니다.

  파라미터:
    `flag` - `true` 는, C++ 스타일의 코멘트를 인식해 무시하는 것을 나타낸다

### lowerCaseMode

    public void lowerCaseMode(boolean fl)

  워드 토큰을 자동적으로 소문자로 할지 어떨지를 판별합니다. flag 인수가 `true` 의 경우, 워드 토큰이 돌려주어질 때마다 `sval` 필드의 값이 소문자로 됩니다. `ttype` 필드가 가지는 값 `TT_WORD` 는, 이 토크나이자의 `nextToken` 메소드로부터의 것입니다.

  flag 인수가 `false` 의 경우,`sval` 필드는 변경되지 않습니다.

  파라미터:
    `fl` - `true` 는, 모든 워드 토큰을 소문자로 하는 것을 나타내는
  관련 항목:
    `nextToken()` , `ttype` , `TT_WORD`

### nextToken

    public int nextToken()
                  throws IOException

  이 토크나이자의 입력 스트림의 다음의 토큰을 구문 분석 합니다. 다음의 토큰의 형태는 `ttype` 필드에 돌려주어집니다. 토큰에 관한 추가 정보는, 이 토크나이자의 `nval` 필드 또는 `sval` 필드에 있습니다.

  이 클래스의 일반적인 클라이언트는, 최초로 구문 테이블을 설정하고 나서 nextToken 를 호출하는 루프에 들어가, TT_EOF 가 돌려주어질 때까지 토큰을 차례차례 구문 분석 합니다.

  반환값:
    `ttype` 필드의 값
  예외:
    `IOException` - 입출력 에러가 발생했을 경우
  관련 항목:
    `nval` , `sval` , `ttype`

### pushBack

    public void pushBack()

  이 토크나이자의 다음의 `nextToken` 메소드 호출로 `ttype` 필드의 현행치를 돌려주어,`nval` 또는 `sval` 필드의 값은 변경하지 않게 합니다.

  관련 항목:
    `nextToken()` , `nval` , `sval` , `ttype`

### lineno

    public int lineno()

  현재의 행 번호를 돌려줍니다.

  반환값:
    이 스트림토크나이자의 현재의 행 번호

### toString

    public String  toString()

  현재의 스트림 토큰의 캐릭터 라인 표현과 그것이 발생하는 행 번호를 돌려줍니다.

  다음의 예를 일반적인 것이라고 생각할 수 있습니다만, 반환되는 캐릭터 라인은 정확하게 지정되고 있지 않습니다.

  >     Token['a'], line 10

  오버라이드(override):
    클래스 `Object` 내의 `toString`
  반환값:
    토큰의 캐릭터 라인 표현
  관련 항목:
    `nval` , `sval` , `ttype`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.