10. 파일 입 · 출력 - (2) Inputstream과 Outputstream

한승록·2023년 5월 13일
0

자바 기초

목록 보기
21/21
post-thumbnail
앞서 말씀드린 ReaderWriterchar단위로 데이터를 읽어오므로 주로 텍스트를 입 · 출력하는데 사용됩니다. 하지만 이 두개의 클래스에는 byte단위로 데이트를 처리하는 상위 클래스가 존재합니다. 바로 InputStreamOutputStream입니다.




1) 개념

InputStream은 입력을 위한 클래스들의 최상위 클래스입니다.
앞서 보여드린 FileInputStream, BufferedInputStream이 여기에 속합니다.

OutputStream은 출력의 위한 클래스들의 최상위 클래스입니다.
앞서 보여드린 FileOutputStream, BufferedOutputStream이 해당 케이스에 해당됩니다.




2) 사용방식(객체 생성)

해당 상위 클래스의 객체 생성을 파일 입 · 출력을 통해 설명을 드려보고자 합니다.
그전에 InputOutput에 대해 짚고 넘어가야할 부분이 있습니다. 바로 기준점이라는 것이죠.
사용자의 입장에서 Input이라고 하면 입력이라는 생각이 드실겁니다. 하지만 해당 클래스는 사용자의 출력을 담당하게 됩니다.
이유는 사용자의 관점에서는 입력이지만 해당 입력을 받은 프로그램의 입장에서 결과를 출력하게 되는 것이기 때문입니다. 해당 개념을 유의하시면서 다음 내용을 설명드리겠습니다.

먼저 InputStream에 대하여 말씀드리겠습니다.

		InputStream fis1 = new FileInputStream(File 자료형);
        InputStream fis2 = new FileInputStream(String 자료형);

첫번째 코드는 File 자료형의 매개변수를 곧바로 읽어주는 객체를 생성한 것입니다.
이에 반해 두번째 코드는 해당 문자열 매개변수의 경로에 위치한 File자료형의 데이터를 읽어주는 객체를 생성합니다.



다음은 OutputStream에 대하여 말씀드리겠습니다.
		OutputStream fos1 = new FileOutputStream(File 자료형);
        OutputStream fos2 = new FileOutputStream(File 자료형, boolean append);
        OutputStream fos3 = new FileOutputStream(String 자료형);
        OutputStream fos4 = new FileOutputStream(String 자료형, boolean append);
fos1fos2는 매개변수로 넘어온 File을 작성하기 위해 사용되며 append가 true 일때는 이어서 사용을 false 는 덮어쓰기가 진행됩니다.
fos3fos4는 매개변수로 넘어온 String 자료형의 문자열에 위치한 File을 작성하기위해 사용되며 append가 true 일때는 이어서 사용을 false 는 덮어쓰기가 진행됩니다.
profile
개발 학습

0개의 댓글