2013년 1월 20일 일요일

[Java] 입출력

자바는 입력과 출력에 있어서 해당하는 장치나 모니터, 파일에 관계없이 일정한 인터페이스의 구현만으로 입출력이 가능하도록 되어있다.

이것이 자바가 가지는 큰 장점이다.

그러나 입출력에 관련된 다양한 클래스를 그져 외우고 많이 아는 것보다 관련 클래스들의 조합이 더 중요하다.

기본 입출력 스트림인 2개의 인터페이스를 다양한 필터스트림과의 연결을 통해 다양한 입출력이 가능해 지는 것이다.

파일을 예로들면 파일에서 스트림을 통해 바이트를 읽어올때 당연히 FileInputStream이 필요하게 되는데 InputStream을 상속한 클래스라는 것을 이름을 통해 알 수 있다.
 이 FileInputStream을 통해 데이터를 읽는 것이 가능하다. 그러나 성능을 향상시킬 수 있는 더 많은 클래스들이 존재하고 이런 클래스들을 필터클래스라고 한다.

 즉, FileInputStream에 BufferedInputStream을 연결 시키면 한번에 많은 데이터를 파일로 부터 읽어들여 버퍼에 저장하여 읽어 낼 수 있기 때문에 성능의 향상이 보장된다.

이러한 필터의 조합을 어떻게 연결할 것인가를 고민하고 사용하는 자세가 필요하고 이를 잘 이해한다면 네트워크 관련해서 일어나는 스트림 연결을 이해하는데 도움이 될 것이다.

댓글 없음:

댓글 쓰기