본문 바로가기
JAVA BASE/lang & util

11. [자바] Scanner클래스

by staticClass 2020. 12. 27.

Scanner클래스?

Scanner는 화면, 파일, 문자열과 같은 입력소스로부터 문자데이터를 읽어오는데 도움을 주는 클래스이다

Scanner scan = new Scanner(System.in);
String input = s.nextLine();

또 여러가지 생성자를 지원하기 때문에 다양한 입력소스로부터 데이터를 읽을 수 있다.

Scanner(String source)
Scanner(File source)
Scanner(InputStream source)
Scanner(Readable source)
Scanner(ReadableByteChannel source)
Scanner(Path source)

Scanner는 정규식 표현(Regular expression)을 이용하여 라인단위의 검색이 가능하고
구분자(delimiter)에도 정규식 표현을 사용할 수 있어서 복잡한 형태의 구분자도 처리가 가능하다.

Scanner useDelimiter(Pattern pattern)
Scanner useDelimiter(String pattern)

입력받을 값이 숫자라면 nextLine() 대신 nextInt(), nextLong()과 같은 메서드를 이용하여
바로 숫자로 받을수도 있다.
nextLine()으로 받게 되면 String이기 때문에 변환을 해야하는데 이 수고를 덜 수 있다.

boolean  nextBoolean();
byte     nextByte();
short    nextShort();
int      nextInt();
long     nextLong();
double   nextDouble();
float    nextFloat();
String   nextLine();

댓글