[Java] Input 값 입력 받는 방법 ② - BufferedReader 클래스

2024. 3. 5. 00:17·개발 ━━━━━/Java
반응형

BufferedReader

BufferedReader 클래스는 버퍼를 이용한 대표적인 I/O 클래스로,

입력된 데이터를 바로 전달하지 않고 버퍼에 저장해두었다가 전달하는 방식이기 때문에 속도 측면에서 빠르고, 많은 양의 데이터를 처리할 때 유리하다.

 

사용 방법

import java.io.BufferedReader;
import java.io.InputStreamReader;

를 우선 import 해주어야 한다.

 

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); // 선언
String s = bf.readLine(); // String 으로 입력 받기 (기본)
int i = Integer.parseInt(bf.readLine()); // Int 로 입력 받기

 

주의할 점

1. readLine() 은 기본적으로 String 형태로 고정되기 때문에 String 이외의 값을 입력 받고 싶다면 형변환을 해주어야 한다.

2. 예외 처리를 꼭 해주어야 한다. (throws IOException 또는 try catch)

// 클래스 import
import java.io.IOException;

// main 클래스에 throw
public static void main(String[] args) throws IOException {}

 

공백 단위 데이터 가공

Read 한 데이터는 Line 으로만 나눠지기 때문에 공백 단위로 데이터를 받으려면 따로 작업을 해주어야 한다.

 

StringTokenizer - nextToken()

StringTokenizer st = new StringTokenizer(s);
int a = Integer.parseInt(st.nextToken()); // 첫 번째 공백 전 출력
int b = Integer.parseInt(st.nextToken()); // 두 번째 공백 전 출력

 

String.split()

String array[] = s.split(" "); // 공백마다 데이터 끊어서 배열에 넣음

 

 

 

출처

https://velog.io/@yjshin229/Java-input%EA%B0%92-%EB%B0%9B%EA%B8%B0

https://m.blog.naver.com/ka28/221850826909

반응형

'개발 ━━━━━ > Java' 카테고리의 다른 글

[Java] 개선된 Switch 문 (Enhanced Switch Expressions)  (0) 2024.08.01
[Java] 배열 값 출력하기  (0) 2023.08.27
[Java] 문자열 배열에 String 집어 넣기  (0) 2023.08.25
[Java] String <-> Int 형변환  (0) 2023.08.25
[Java/Algorithm] List 오름차순  (0) 2023.08.24
'개발 ━━━━━/Java' 카테고리의 다른 글
  • [Java] 개선된 Switch 문 (Enhanced Switch Expressions)
  • [Java] 배열 값 출력하기
  • [Java] 문자열 배열에 String 집어 넣기
  • [Java] String <-> Int 형변환
GukJang
GukJang
•  ⌘ ⌥ •
    반응형
  • GukJang
    SPACE
    GukJang
  • 전체
    오늘
    어제
    • Blog (73)
      • 개발 ━━━━━ (68)
        • Java (14)
        • C++ (1)
        • HTML (1)
        • Spring(boot) (7)
        • Dev (9)
        • SQL (1)
        • CS (2)
        • Git (1)
        • Troubleshoot (14)
        • Algorithm (2)
        • Definition (1)
        • Dev Life (2)
        • TIL (7)
        • 항해 (6)
      • 공돌 ━━━━━ (4)
        • 플젝 (2)
        • 장비 (1)
        • 부품 (1)
      • 독서 ━━━━━ (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    github actions
    electron-builder
    자바
    CI CD
    SpringBoot
    사전 스터디
    micropython
    spring
    항해99
    EC2
    AWS
    docker volume
    docker
    백준
    Java
    알고리즘
    Python
    오픈소스 기여
    mysql
    마이크로파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
GukJang
[Java] Input 값 입력 받는 방법 ② - BufferedReader 클래스
상단으로

티스토리툴바