스트림의 종류에 따라서 mark()와 reset()을 사용하여 이미 읽은 데이터를 되돌려 다시 읽을 수 있음.
(이 기능을 지원하는 스트림인지는 markSupported()를 통하여 알 수 있음)
Flush()의 경우에은, 출력스트림의 경우에만 의미가 있음!
프로그램이 종료될 때, 사용하고 닫지 않은 스트림을 JVM이 자도저그로 닫아 주기는 하지만,
스트림을 사용해서 모든 작업을 마치고 난 후에는 close()를 반드시 호출해야 함.
(메모리를 사용하는 스트림과, 표준 입출력 스트림은 X)
바이트배열에 데이터를 입출력 하는데 사용되는 스트림
주로 다른 곳에 입출력하기 전에 데이터를 임시로 바이트배열에 담아서 변환 등의 작업에 사용
파일을 입출력 하기 위한 스트림
텍스트 파일을 다루는 경우에는 문자 기반 스트림인 FileReader/FileWriter를 사용하는 것이 좋음.