단방향이다. 입력 스트림과 출력 스트림을 따로 사용해야 한다.
먼저 보낸 데이터가 먼저 도착하는 FIFO(First In First Out)구조이다.
임시 저장장치.
문자를 한번에 전달하기 때문에 성능이 향상될 수 있다.
매번 입력 API 호출이 일어나는 스트림 방식보다 호출 횟수가 적어지기 때문
양방향 통로이다. 입력과 출력이 하나의 채널에서 이루어진다.
데이터를 주고 받을 때 버퍼를 사용한다.
바이트 기반 스트림의 최상위 클래스이다.
int read()
: 한 바이트를 읽어서 int로 반환한다.
int read(byte[] b)
: 읽은 바이트를 b에 저장하고 읽은 수를 반환한다.
void close()
: InputStream을 닫는다.
void write(int b)
: b의 하위 바이트를 출력한다.
void write(byte[] b)
: b의 버퍼의 내용을 출력한다.
void flush()
: 버퍼에 있는 모든 내용을 출력한다.
void close()
: OuputStream을 닫는다.
binary 데이터를 전송하는 스트림이다.
입출력의 단위가 1 byte이다.
InputStream과 OutputStream이 최상위 클래스이다.
출처 : http://www.btechsmartclass.com/java/java-byte-stream.html
문자 데이터를 전송하는 스트림이다.
2 byte 단위로 처리한다.
Reader와 Witer가 최상위 클래스이다.
출처 : http://www.btechsmartclass.com/java/java-character-stream.html
콘솔에서의 입출력을 도와준다.
콘솔에서 데이터를 입력받는다.
콘솔로 데이터를 출력한다.
콘솔로 데이터를 출력한다.
System.out과 다르게 버퍼를 사용하지 않고 바로 출력한다.
FileInputStream fis = new FileInputStream("D:/file.jpg");
FileOutputStream fos = new FileOutputStream("D:/file.jpg");
FiileReader fr = new FileReader("D:/file.txt");
FileWriter fw = new FileWriter("D:/file.txt");