Java
BufferedReader / StringTokenizer
bittersweet
2023. 7. 19. 18:04
반응형
- BufferedReader란?
- InputStreamReader에 버퍼링 기능이 추가된 클래스
- 입력 스트림에서 문자를 읽는 함수
- 버퍼링을 제공해주는 보조 스트림 라이브러리
- BufferedReader 함수의 readLine(), read() 차이 비교
- readLine() 메소드
- 값을 읽어올 때 String값으로 개행문자를 포함하여 한 줄을 전부 읽어오는 방식 사용
- ex) Scanner 메소드 중 nextLine()과 비슷하다.
- int a = Integer.parseInt(br.readLine());
- 한 줄 통째로 읽어온 뒤, Integer.parseInt()를 통해 형변환 해주기
- read() 메소드
- 값을 읽어올 때 int값으로 변형하여 읽어오는 방식 사용
- ex) 1을 읽어온다면, 1이 아닌 ASCII 형식의 문자값 '1'을 읽어오는 것이므로 결국 49를 읽어온다.
- sol -> int a = br.read() - 48; br.readLine();
- ASCII 값을 고려한 뺄셈 연산 추가 및 개행(엔터)문자 처리
- readLine() 메소드
- BufferedReader 사용 시 주의점
- new InputStreamReader 추가해주기 ★
- throws IOException을 꼭 해주어야 한다. 어디에? -> main 메소드에!!!!! ★★★
※가끔씩 main 메소드가 아닌, 다른 메소드 or 다른 클래스의 다른 메소드에 써주는 경우가 있는데,, 꼭 주의하자.
- StringTokenizer란?
- 구분자를 지정해 특정 문자열을 분리할 때 사용하는 자바에서 제공하는 클래스
- StringTokenizer 클래스의 사용예제 및 함수
- StringTokenizer st = new StringTokenizer(br.readLine(), " ");
- (문자열, 구분 문자) 순으로 인자를 주면 되고, 해당 기준에 따라 문자열을 분리해준다.
- nextToken() 메소드
- StringTokenizer 클래스 객체에서 다음 토큰을 읽어들인다.
-
- hasMoreTokens() 메소드
- StringTokenizer 클래스 객체에서 다음에 읽어 들일 token이 있으면 true, 없으면 false를 return한다.
- hasMoreTokens() 메소드
반응형