1. 입력값을 지정된 구분 패턴 (구분자, Delimiter Pattern)으로 파싱할 수 있다.
2. 구분 패턴의 기본 값은 공백 문자, White space이다.
3. 파일, 스트림, 문자열을 원천 데이터로 사용할 수 있다.
4. 토큰들은 자동적으로 기본 데이터형으로 변경될 수 있다.
java.util.Scanner 생성자
Scanner(File source) - 지정된 파일을 사용하는 Scanner객체를 생성한다.
Scanner(InputStream source) - 지정된 입력 스트림을 사용하는 Scanner객체를 생성한다.
Scanner(String source) - 지정된 문자열을 사용하는 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의 구분자로 설정한다.
============
package Scanner;
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("/org.txt"));
while(s.hasNext()){
System.out.println(s.next());
}
} catch (IOException ioe) {
ioe.printStackTrace();
}finally{
if(s!=null)
s.close();
}
}
}
============
package Scanner;
import java.util.Scanner;
public class test2 {
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' 카테고리의 다른 글
a Board (0) | 2015.01.22 |
---|---|
Scanner(FIleReader file) (0) | 2015.01.20 |
ObjectInputStream / ObjectOutputStream (0) | 2015.01.20 |
FileReader (0) | 2015.01.20 |
PrintWriter (0) | 2015.01.20 |