๋ฐ์ํ
๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ฉด ํค๋ณด๋์ ์ ๋ ฅ๊ฐ์ ๋ฒํผ์ ํ๋ฒ์ ๋ชจ์๋ค๊ฐ , ๋ฒํผ์ ๋ด์ฉ์ ํ๋ฒ์ ์ ์กํ๊ธฐ ๋๋ฌธ์
Scanner, System.out.println ๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ณ ํจ์จ์ ์ด๋ค.
๋ฒํผ ์ ์ถ๋ ฅ
- ๋ฒํผ(buffer)
- ๋ฐ์ดํฐ๋ฅผ ํ ๊ณณ์์ ๋ค๋ฅธ ํ๊ณณ์ผ๋ก ์ ์กํ๋ ๋์ ์ผ์์ ์ผ๋ก ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๋ ์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ
- ์ ์ถ๋ ฅ ์๋ ํฅ์์ ์ํด ๋ฒํผ ์ฌ์ฉ
- ๋ฒํผ ํ๋ฌ์(buffer flush)
- ๋ฒํผ์ ๋จ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅ์ํด(๋ฒํผ๋ฅผ ๋น์ฐ๋ ๋์)
- BufferedReader
- ๋ฒํผ๋ฅผ ์ด์ฉํ ์ ๋ ฅ
- BufferedWriter
- ๋ฒํผ๋ฅผ ์ด์ฉํ ์ถ๋ ฅ
BufferedReader
Java๋ฅผ ์ฒ์ ์ ํ์๋ ๋ถ๋ค์ด ์ฃผ๋ก ๋ฐ๋ ์ ๋ ฅ๋ฐฉ์์ Scanner์ ๋๋ค. Scanner๋ฅผ ํตํด ์ ๋ ฅ์ ๋ฐ์๊ฒฝ์ฐ Space Enter๋ฅผ ๋ชจ๋ ๊ฒฝ๊ณ๋ก ์ธ์ํ๊ธฐ์ ์ ๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๊ธฐ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค. ํ์ง๋ง ๊ทธ์๋นํด BufferedReader๋ Enter๋ง ๊ฒฝ๊ณ๋ก ์ธ์ํ๊ณ ๋ฐ์ ๋ฐ์ดํฐ๊ฐ String์ผ๋ก ๊ณ ์ ๋๊ธฐ๋๋ฌธ์ ์ ๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๋ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Scanner์ ๋นํด ๋ค์ ์ฌ์ฉํ๊ธฐ ๋ถํธํ์ฃ . ํ์ง๋ง ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์๊ฒฝ์ฐ BufferedReader๋ฅผ ํตํด ์ ๋ ฅ๋ฐ๋ ๊ฒ์ด ํจ์จ๋ฉด์์ ํจ์ฌ ๋ซ์ต๋๋ค. ์ ๋ ฅ์ Buffer๋ฅผ ํ์ฉํจ์ผ๋ก์จ ์์ ์๋ ์ฐจ์ด๊ฐ ๋ง์ด๋ฉ๋๋ค.
BufferedReader ์ฌ์ฉ๋ฒ
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //BufferedReader์ ์ธ
String s = bf.readLine(); //String ๋ฌธ์์ด ๋ฐ๊ธฐ
int i = Integer.parseInt(bf.readLine()); //Int
readLine()์ ๊ผญ! ์์ธ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๋ค. readLine()์ ํ ๋๋ง๋ค try&catch ๋ฅผ ์ฌ์ฉํด๋ ๋์ง๋ง,
๋๋ถ๋ถ throws IOException์ ์ด์ฉํด ์์ธ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
๋ฐ์ดํฐ ๊ฐ๊ณต
// 1๋ฒ์งธ ๋ฐฉ๋ฒ) StringTokenizer๋ฅผ ์ด์ฉํ๋ค.
StringTokenizer st = new StringTokenizer(br.readLine()); //StringTokenizer์ธ์๊ฐ์ ์
๋ ฅ ๋ฌธ์์ด ๋ฃ์
int a = Integer.parseInt(st.nextToken()); //์ฒซ๋ฒ์งธ ํธ์ถ์ to int
int b = Integer.parseInt(st.nextToken()); //๋๋ฒ์งธ ํธ์ถ์ to int
// ๋๋ฒ์งธ ๋ฐฉ๋ฒ) string์ ํ๋ฒ์ ๋ฐ์์ split์ ์ด์ฉํด ๋ฐฐ์ด๋ก ๋ณํ
String s = br.readLine();
String array[] = s.split(" "); //๊ณต๋ฐฑ๋ง๋ค ๋ฐ์ดํฐ ๋์ด์ ๋ฐฐ์ด์ ๋ฃ์
BufferedWriter
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));//์ ์ธ
String s = br.readLine();//์ถ๋ ฅํ ๋ฌธ์์ด
bw.write(s);//์ถ๋ ฅ
bw.newLine(); //์ค๋ฐ๊ฟ -> ์ด๊ฒ ์ ์๋๋ค. ๊ฐํ์ ํ ๋์๋ bw.write(s + "\n"); ์ฒ๋ผ ์ฌ์ฉํ๋ค.
bw.flush();//๋จ์์๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ถ๋ ฅ์ํด
bw.close();//์คํธ๋ฆผ์ ๋ซ์
์์ Example
import java.io.*;
import java.util.StringTokenizer;
public class baekjoon_15552 {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));//reader์ ์ธ
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));//writer์ ์ธ
StringTokenizer st;//tokenizer ์ ์ธ
int n = Integer.parseInt(bf.readLine()); // ๋ฐ๋ณตํ์
for (int i=0; i<n; i++) {
st = new StringTokenizer(bf.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int sum = a+b;
bw.write(sum + "\n");
}
bw.flush();
bw.close();
}
}
์ ๋ ฅ
5
1 1
12 34
5 500
40 60
1000 1000
์ถ๋ ฅ
2
46
505
100
2000
์ถ์ฒ : jhnyang.tistory.com/92
์ถ์ฒ : coding-factory.tistory.com/251
๋ฐ์ํ