[Java] BufferedReader, StringBuilder, StringTokenizer

이다혜·2023년 11월 16일
0

Java

목록 보기
22/23
post-thumbnail

BufferedReader는 코드가 복잡해보여서 안쓰고 있었는데 백준에서 자꾸 런타임에러가 나서 외우려고 정리한다

1. BufferedReader

효율적인 입출력을 위한 클래스
내부적으로 데이터를 버퍼에 임시로 저장해두고 효율적으로 읽어오기 때문에 Scanner보다 훨씬 입출력 속도가 빠르다.

import java.io.*;

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

//한 줄 읽기
String str = br.readLine();

//사용 후 닫기
br.close();

문자열만 읽을 수 있어서 숫자가 필요하면 입력받은 후 형변환 해야한다.

2. StringTokenizer

문자열을 구분자를 기준으로 토큰으로 분리한다. 구분자는 " " 공백이 기본이다.

import java.util.*;

String str = "1 2 3";
StringTokenizer st = new StringTokenizer(str);

while(st.hasMoreTokens()) {
	String token = st.nextToken();
}

3. StringBuilder

문자열을 변경 가능한 형태로 다루기 위한 클래스
한 번 생성되면 변경할 수 없어서 문자열에 작업을 할 때마다 새로운 문자열을 생성하는 String과 달리 StringBuilder는 가변클래스여서 메모리를 효율적으로 사용할 수 있다.

StringBuilder sb = new StringBuilder();

sb.append("hello");
sb.insert(5, " world");
sb.delete(5, 11);

System.out.println(sb.toString());

0개의 댓글