데이터의 입출력을 전달하는 방법들
데이터가 들어온 순서대로 흐르는 전달 방식
blocking 방식으로 동작한다
데이터를 모아서 전달하는 방식
데이터의 입력이 즉시 전송되는 stream과 달리 중간에서 이들을 모아 한번에 보낸다
병목은 거의 항상 I/O에 있기 때문에, 오버헤드를 크게 줄일 수 있다
java 4에서 추가된 java.nio 패키지의 기본 I/O 방식
양방향으로 연결돼 InputStream과 OutputStream처럼 나뉘지 않는다
buffer를 통해서만 사용할 수 있다
non-blcoking 방식으로도 동작할 수 있다
Stream은 단방향이기 때문에 InputSream과 OutputStream으로 나뉜다
자바의 모든 바이트 스트림은 InputStream 또는 OutputStream 기반으로 되어있다
File file = new File("/file.txt");
문자 스트림으로 파일을 읽는다
배열을 주어야한다
char[] cbuf = new char[100]
FileReader fileReader = new FileReader("/file.txt");
fileReader.read(cbuf)
FileWriter fileWriter = new FileWriter("/file.txt");
fileWriter.write()