Sio's Programming

JAVA 입출력(I/O) 본문

Programming/JAVA

JAVA 입출력(I/O)

SSio 2018. 5. 3. 00:06

입출력(I/O) 란?


I/O란? 입력(Input)과 출력(Output)을 뜻 합니다. 컴퓨터한테 입력하는 것은 Input이며, 컴퓨터가 어떤 것을 출력하는 것을 Output이라고 합니다.

자주 사용하는 System.out.println("HelloWorld"); 구문이 바로 Output 입니다.


데이러를 '읽는다' 라고 하면 입력(Input)이라고 생각하시면 되고, 데이터를 '쓴다'라고 하면 출력(Output)이라고 하면 됩니다.



Input

파일 데이터를 '읽는다'

키보드의 데이터를 '읽는다'

네트워크상의 데이터를'읽는다'


Output

파일에 데이터를 ‘쓴다.’

모니터에 테이터를 ‘쓴다.(출력)’

네트워크상에 데이터를 ‘쓴다.(전송)'



JAVA 입출력 API(Input ~ Output~)

InputStream, Reader & OutputStream, Writer


1byte 단위


InputStream

OutputStream

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

이미지, 동영상등의 데이터에 주로 사용


2byte 단위


Reader

Writer

---------------------

문자열에 주로 사용




InputStream 사용법

1)InputStream (추상)클래스를 이용해서 객체를 만든다. 또는 다른 클래스의 메소드에서(리턴)되는 타입 객체를 얻는다.
2)read()메소드를 이용해서 데이터를 읽으면 됩니다.

3)read(), read(byte[]) 두개의 메소드를 이용할 수 있습니다.




OutputStream 사용법
1)OutputStream 클래스를 이용해서 객체를 만든다. 또는 다른 클래스의 메소드에서(리턴)되는 타입 객체를 얻는다.
2)write()메소드를 이용해서 데이터를 읽으면 됩니다.
3)write(), write(byte[]), write(byte[], int, int) 세개의 메소드를 이용할 수 있습니다.
4)write(byte[], int, int)는 데이터를 원하는 위치에서 원하는 숫자만큼 쓸 수 있습니다.






읽고, 쓰기를 동시에 파일 복사


1)파일을 읽고, 다른 파일에 쓰고, 결국은 파일 복사 입니다.

2)작업순서 : InputStream, OutputStream 준비 > is읽어들인 데이터를 os으로 씀 > 외부연결 close().



 

DateInputStream, DataOutputStream > 문자열 읽고, 쓰기


byte단위로 문자열을 처리하는 InputStream, OutputStream 보다 편리하게 고안된 클래스 입니다



'Programming > JAVA' 카테고리의 다른 글

배열(Array), ArrayList 차이점 및 활용  (0) 2018.05.09
스레드 (Runnable,Thread, synchronized)  (0) 2018.05.03
Map 계열 컬렉션  (0) 2018.05.02
List 계열 컬렉션 <ArrayList>  (0) 2018.05.02
컬렉션  (0) 2018.05.02