Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 IT일지

Scanner 클래스 본문

프로그래밍 언어/Java

Scanner 클래스

세레프 2023. 5. 22. 22:11

 자바에서는 개발자들이 개발할 때 사용하기 위한 기본 기능인 API가 구현되어 있으며, import를 통해 클래스를 호출해서 해당 클래스의 메서드를 사용한다.

 특히 java.util 패키지는 프로그램 개발에서 자주 사용하는 패키지이기에, 사용자의 편리성을 위해 구현된 클래스들이 모여있어서 자주 사용한다.

클래스 용도
Calendar 운영체제의 날짜, 시간의 정보를 수집
Date 특정 시점의 날짜와 시간 정보를 저장
Scanner 문자 데이터를 입력
BigDecimal 정확한 소수점 연산
StringTokenizer 문자열을 구분 문자열 기준으로 분리

 

Scanner 클래스

 자바에서는 데이터를 입력하기 위해서는 Scanner클래스를 사용해야 한다. Scanner클래스문자 파일이나 입력 스트림(System.in)을 통해 입력된 문자열을 줄 단위로 쉽게 읽도록 하기 위해서 java.util패키지에서 제공하는 클래스로, Scanner클래스를 통해 입력받은 내용은 출력 스트림(System.out)을 통해  출력할 수 있다. 

 

Scanner (Java Platform SE 8 )

Scans the next token of the input as a float. This method will throw InputMismatchException if the next token cannot be translated into a valid float value as described below. If the translation is successful, the scanner advances past the input that match

docs.oracle.com

  • nextBoolean : 논리형 데이터 값을 입력
  • nextByte : byte타입 데이터값을 입력
  • nextDouble : double타입 데이터 값을 입력
  • nextFloat : float타입 데이터값을 입력
  • nextInt : int타입 데이터으로 입력
  • nextLine : enterkey 입력 전까지 문자열로 입력
  • next :  공백 전까지 문자열로 입력
package pack0523;

import java.util.Scanner;

public class Code1 {

	public static void main(String[] args) {
		Scanner sc =  new Scanner(System.in);
		System.out.print("이름 입력하기 : ");
		String name =  sc.nextLine();

		System.out.println(name+"님 환영합니다.");
	}

}

  Scanner클래스는 객체를 생성할 때, 생성자에 "InputStream클래스"의 객체(System.in)를 매개변수로 지정하게 되면, 데이터를 직접 입력할 수 있는 Scanner객체가 생성이 된다.

 반면에 생성자에 "FileInputStream클래스"의 객체를 매개변수로 지정하면, 파일에 있는 데이터를 줄 별로 토큰으로 나눠서 IDE에 입력, 저장하게 되며, 파일의 내용을 출력할 수 있는 Scanner객체가 생성된다.

package pack0523;

import java.io.FileInputStream;
import java.util.Scanner;

public class Code {

	public static void main(String[] args) {

		try{
			FileInputStream fls = new FileInputStream("src//pack0523//sample.txt");
			Scanner s = new Scanner(fls);
			while(s.hasNext()) { //파일의 토큰이 있을 경우 참
				System.out.println(s.nextLine()); //파일의 토큰을 출력
			}
		}
		catch(Exception e){
			e.printStackTrace();
		}
	}
}
src//pack0523//sample.txt 출력 결과

'프로그래밍 언어 > Java' 카테고리의 다른 글

Format 클래스  (0) 2023.05.24
기타 API 클래스  (0) 2023.05.23
LocalDateTime 클래스  (0) 2023.05.19
Calendar클래스, Date클래스  (0) 2023.05.18
StringTokenizer클래스, Random클래스  (0) 2023.05.17
Comments