1. InputStream
package ex18;
import ex02.InputString;
import java.io.IOException;
import java.io.InputStream;
public class Buff01 {
public static void main(String[] args) {
InputStream in = System.in; //read선
try {
int r = in.read();
System.out.println(r);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}2. InputStreamReader
package ex18;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Buff02 {
public static void main(String[] args) {
InputStream in = System.in; // 키보드부터 데이터를 받는 선을 가르키는 래퍼런스 변수
InputStreamReader rd = new InputStreamReader(in);
char[] buf = new char[4]; //버퍼의 시작
try {
rd.read(buf); // 키보드 입력 대기
for (int i = 0; i < buf.length; i++) {
System.out.println(buf[i]);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
3. BufferedReader
package ex18;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Buff03 {
public static void main(String[] args) {
// InputStream in = System.in;
// InputStreamReader rd = new InputStreamReader(in);
// BufferedReader br = new BufferedReader(rd);
// 내나 밑에랑 같은거라 볼 수 있음
//Scanner sc = new Scanner(System.in);
// 한 번에 쓸 수 있음
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String line = br.readLine(); // 아무말아무말아무말\n(enter) 여기서 끝남.
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}4. BufferedWriter
package ex18;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
// 버퍼는 꽉 차야 전송된다.
// 프로토콜 : \n (엔터)
public class Buff04 {
public static void main(String[] args) {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
try {
bw.write("안녕\n");
bw.flush(); //흘려주는것, 꽉차기 전에 전송하게함.
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}5. PrintWriter
package ex18;
import java.io.PrintWriter;
import java.util.Scanner;
public class Buff05 {
public static void main(String[] args) {
PrintWriter out = new PrintWriter(System.out, true);
// autoFlush \n과 flush를 붙이지 않아도 전송 가능
out.println("Hello World");
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
System.out.println(s);
}
}
Share article