1. 입력값을 지정된 구분 패턴(구분자, Delimiter Pattern)으로 파싱할 수 있다.
2. 구분 패턴의 기본값은 공백 문자 White space이다.
(java.lang.Character.isWhitespace())
3. 파일, 스트림, 문자열을 원천 데이터로 사용할 수 있다.
4. 토큰들은 자동적으로 기본 데이터형으로 변경될 수 있다.
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner s = null;
try{
s = new Scanner(new File("temp.txt"));
while (s.hasNext()){
System.out.println(s.next());
}
}catch(IOException ioe){
ioe.printStackTrace();
}finally{
if(s != null){
s.close();
}
}
}
}
import java.util.Scanner;
public class Test{
public static void main(String[] args){
String input = "scjp del java del A del 1";
Scanner s = new Scanner(input).useDelimiter("\\s*del\\s*");
System.out.println(s.next());
System.out.println(s.next());
System.out.println(s.next());
System.out.println(s.nextInt());
s.close();
}
}
java.util.Scanner 생성자
Scanner(File source)
지정된 파일을 사용하는 Scanner 객체를 생성한다.
Scanner(InputStream source)
지정된 입력 스트림을 사용하는 Scanner 객체를 생성한다.
Scanner(String source)
지정된 문자열을 사용하는 Scanner 객체를 생성한다.
java.util.Scanner 메소드
void
close()
Scanner을 닫는다.
boolean
hasNext()
입력값에 다른 토큰(token)이 존재한다면 true를 반환한다.
String
next()
토큰을 찾은 다음 반환한다.
xxx
nextXxx
토큰을 xxx로 반환한다. (xxx에는 기본 데이터형 부터BigDecimal, BigInteger등이 올 수 있다.)
Scanner
UseDelimiter(Pattern pattern)
지정된 패턴을 Scanner의 문자로 설정한다.
Scanner
useDelimiter(String pattern)
지정된 문자열을 Scanner의 구분자로 설정한다.
'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글
JAVA - 스레드 (0) | 2013.10.16 |
---|---|
JAVA - 컬렉션 (0) | 2013.10.15 |
JAVA - 포메팅 구조 (0) | 2013.10.14 |
format(), printf(), split메소드 (0) | 2013.10.14 |
JAVA - 숫자, 통화 클래스 (0) | 2013.10.13 |