[Java] BufferedReader

정석·2023년 12월 20일

Java

목록 보기
15/39
post-thumbnail

텍스트 파일이나 키보드 입력과 같은 데이터를 효율적으로 읽기 위한 도구

1. 생성

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

InputStreamReader 을 이용하여 이와 같이 생성하면 키보드 입력을 받게 된다.

2. 사용

String line = reader.readLine();

readLine() 을 이용하여 한 줄씩 텍스트를 읽는다.

  • Scanner와 다르게 줄바꿈만으로 입력된 데이터를 나눠 인식한다. (Scanner의 nextLine()과 비슷)
  • return되는 데이터가 String으로 고정된다!!
  • String이 아닌 다른 타입으로 입력 받기 위해선 형변환을 해야 함!
  • 반드시 예외처리가 필요
    - try-catch 또는 throws IOExceotion 사용

3. 데이터 자르기

  • StringTokenizer 또는 split() 메소드를 이용하여 문자열을 나눈다.

    StringTokenizer st = new StringTokenizer(br.readLine());
    
    int A = Integer.parseInt(st.nextToken());
    int B = Integer.parseInt(st.nextToken());
  • nextToken() 은 Tokenizer로 잘린 데이터를 처음부터 한개의 Token씩 부른다.

주요 메소드

1. readLine() -> 한 줄을 읽으며 Enter로 구분한다. String 으로 저장되어 return 된다.

2. read() -> 한 글자만 읽는다. int로 값이 reutrn 된다.

  • 정수형으로 반환된 값이 유니코드 포인트로 반환되므로 원하는 값으로 쓰려면 다시 가공을 해야한다.
  • 따라서, 정수형을 입력 받고자 한다면 그냥 readLine()으로 입력받고 데이터 잘라 사용하는게 더 편할 거 같다.

0개의 댓글