종류 : FileOutputStream, PrintStream, BufferedOutputStream, DataOutputStream
최상위 클래스 : OutputStream
주요 메소드
리턴타입 | 메소드 이름 | 설명 |
---|---|---|
void | write(int b) | 1byte를 출력한다. 매개변수로 주어지는 int에서 끝 1byte만 출력 스트림으로 보낸다. |
void | write(byte[] b) | 배열 b의 모든 바이트를 출력 |
void | write(byte[] b, int off, int len) | b[off]부터 len개의 바이트를 출력 |
void | flush() | 출력 버퍼에 잔류하는 모든 바이트 출력 |
void | close() | 출력 스트림을 닫는다. |
종류 : FileInputStream, BufferedInputStream, DataInputStream
최상위 클래스 : InputStream
주요 메소드
리턴타입 | 메소드 이름 | 설명 |
---|---|---|
int | read() | 1byte를 읽고 읽은 바이트를 리턴. 따라서 리턴된 4byte 중 끝 1byte에만 데이터가 들어있다. |
int | read(byte[] b) | 읽은 바이트를 매개값으로 주어진 배열에 저장하고 읽은 바이트 수를 리턴 |
int | read(byte[] b, int off, int len) | len개의 바이트를 읽고 매개값으로 주어진 배열에서 b[off]에서 len개까지 저장. 읽은 바이트 수 리턴 |
void | close() | 입력 스트림을 닫는다. |
종류 : FileWriter, PrintWriter, BufferedWriter, OutputStreamWriter
최상위 클래스 : Writer
주요 메소드
리턴타입 | 메소드 이름 | 설명 |
---|---|---|
void | write(int c) | 매개값으로 주어진 한문자를 출력스트림으로 보냄. 매개변수 int에서 끝 2byte(문자)만 보낸다. |
void | write(char[] cbuf) | 매개값으로 주어진 배열의 모든 문자를 보냄 |
void | write(char[] cbuf, int off, int len) | c[off]부터 len개의 문자를 보냄 |
void | write(String str) | 매개값으로 주어진 문자열을 보낸다. |
void | write(String str, int off, int len) | str의 off순번부터 len개의 문자를 보낸다. |
void | flush() | 버퍼에 잔류하는 모든 문자 출력 |
void | close() | 출력 스트림을 닫는다. |
종류 : FileReader, BufferedReader, InputStreamReader
최상위 클래스 : Reader
주요 메소드
리턴타입 | 메소드 이름 | 설명 |
---|---|---|
int | read() | 1개의 문자를 읽고 리턴. 입력 스트림으로부터 1개의 문자(2byte)를 읽고 int 타입으로 리턴하므로 끝의 2byte에 문자 데이터가 들어있음. |
int | read(char[] cbuf) | 읽은 문자들을 매개값으로 주어진 문자 배열에 저장하고 읽은 문자 수를 리턴 |
int | read(char[] cbuf, int off, int len) | len개의 문자를 읽고 매개값으로 주어진 문자 배열에서 cbuf[off]부터 len개까지 저장. 그리고 읽은 문자 수 리턴 |
void | close() | 입력 스트림을 닫는다. |
보조스트림 변수 = new 보조스트림(연결 스트림)
// ex)
InputStream is = ...;
Input Stream reader = new InputStreamReader(is);
InputStream is = System.in;
InputStreamReader reader = new InputStreamReader(is);
BufferedReader br = new BufferedReader(reader);
Writer writer = new OutputStreamWriter(바이트 기반 출력 스트림);
Reader reader = new InputStreamReader(바이트 기반 입력 스트림);
BufferedOutputStream bos = new BufferedOutputStream(바이트 기반 출력 스트림);
BufferedWriter bw = new BufferedWriter(문자 기반 출력 스트림);
BufferedInputStream bis = new BufferedInputStream(바이트 기반 출력 스트림);
BufferedReader br = new BufferedReader(문자 기반 입력 스트림);
DataInput Stream dis = new DataInputStream(바이트 기반 입력 스트림);
DataOutputStream dos = new DataOuputStream(바이트 기반 출력 스트림);
PrintStream ps = new PrintStream(바이트 기반 출력 스트림);
PrintWriter pw = new PrintWriter(문자 기반 출력 스트림);
ObjectOutputStream oos = new ObjectOutputStream(바이트 기반 출력 스트림);
oos.writeObject(객체)
: 객체를 직렬화 해서 출력 스트림으로 보낸다.ObjectInputStream ois = new ObjectInputStream(바이트 기반 입력 스트림);
객체타입 변수 = (객체타입) ois.readObject()
: 입력 스트림에서 읽은 바이트를 역직렬화해서 다시 객체로 복원해서 리턴한다. 리턴 타입이 Object이기 때문에 원래 타입으로 강제 변환해야한다.implements Serializable
을 추가해야 한다.public class XXX implements Serializable{...}
InputStream is = System.in;
int keyCode = is.read(); // 1byte를 읽는다.
InputStream is = System.in;
Reader reader = new InputStream(is);
BufferedReader br = new BufferedReader(reader);
// 한줄로 작성
BufferedReader br = new BufferedReader(new InputStream(System.in));
// 메소드 사용
String lineStr = br.readLine();
Scanner scanner = new Scanner(Sytem.in);
String InputData = scanner.nextLine(); // 이외에도 여러 타입을 받을 수 있다.
File file = new File("C:/Temp/file.txt");
File file = new File("C:\\Temp\\file.txt");
boolean isExist = file.exists()
를 사용하면 된다.File file = new File("C:/Temp/file.txt");
FileInputStream fis = new FileInputStream(file);