프로그래밍 공부
카테고리
작성일
2022. 8. 14. 17:25
작성자
WDmil
728x90

Stream

- 프로그램을 작성하다 보면 프로그램 내부에서 선언한 변수나 객체에 값을 담아서 사용하는 경우가 종종있다.

- 변수는 변수의 이름을 통해 접근하여 값을 가져오고 집어 넣을 수 있다.

- 객체는 참조 변수를 이용해 객체에 접근하고 접근이 허용된 메서드나 변수에 자유롭게 접근이 가능하다.

- 같은 프로그램이 아닌 다른 프로그램 혹은 다른곳에 있는 데이터를 가져오는건 자유롭지 못하다

- 자바에서는 프로그램 내부가 아닌 외부에 존재하는 데이터를 프로그램에서 접근할 수 있도록 Stream이란 도구를 제공한다.

 

입출력 Stream

- Stream 이란 바이트 형태로 되어져 있는데이터를 프로그램과 다른 것과의 데이터 교환을 위해 제공되는 도구이다.

- 데이터를 받아들이기 위해 사용하는 Stream을 입력 Stream이라고 부른다.

- 데이터를 전송하기 위해 사용하는 Stream을 출력 Stream 이라고 부른다.

- 자바에서는 입력용 스트림으로 InputStream, 출력용 스트림으로 OutputStream을 제공한다.

- InputStream과 OutputStream을 데이터를 교환하고자 하는 것에서 추출하여 스트림을 통해 데이터를 주고 받으면 된다.

 

기본 Stream

- 자바에서 제공되는 여러 가지 스트림 클래스 중에서 스트림 클래스 자체가 데이터 입출력의 기능을 갖추고 있는 것을 기본 스트림 이라고 부른다.

- 기본 Stream은 InputStream 과 OutputStream을 사용하면 된다.

- 데이터를 교환하고자 하는 대상과 연결되는 InputStream 과 OutputStream을 추출할 수 있으면 추출해서 사용하면 된다.

- 추출하는 과정 자체가 복잡한 경우 자바에서는 스트림을 사용할 수 있도록 InputStream과 OutputStream 을 사용받을 클래스들을 제공한다

- 이러한 기본 스트림들은 데이터를 교환할 때 교환되는 모든 데이터를 바이트 형태로 변환을 해줘야 한다.

 

File OutputStream

- 프로그램에서 파일로 데이터를 전송할 때 사용하는 스트림 이다.

- 데이터를 보내고자 하는 파일이 없으면 자동으로 생성된다.

 

주요 메서드

- 생성자(파일이름) : 파일이름의 파일을 열고 출력 스트림을 추출한다. 이 때 데이터를 덮어 씌워진다.

- 생성자(파일이름,boolean) : 파일 이름의 파일을 열고 출력 스트림을 추출한다. 이 때 boolean 값을 treu로 주면 쓰고자 하는 내용이 뒤에 추가가된다.

- write : 바이트 형태의 데이터를 파일로 쓴다.

-  cloase : 스트림을 닫는다.

- flush : 메모리에 남겨진 데이터를 모두 송출한다.

 

FileInputStream

- 파일의 데이터를 수신할 때 사용하는 스트림이다.

- 데이터를 읽어올 파일이 없으면 예외가 발생한다.

 

주요 메서드

- 생성자(파일이름) : 파일 이름의 파일을 열고 입력 스트림을 추출한다.

- available : 한번에 데이터를 읽어올 수 있는 양을 알아온다. 한번에 읽어올 수 있는 양이 파일의 용량보다 많을 경우 파일의 용량을 가져온다.

- close : 파일을 닫는다.

- read : 데이터를 바이트 형태로 읽어온다.

available() = 가져올 파일 개수를 모를 때 사용하는것.

 

728x90

'JAVA' 카테고리의 다른 글

JAVA 2byteStream  (0) 2022.08.14
JAVA 데이터Stream  (0) 2022.08.14
JAVA HashTable  (0) 2022.08.14
JAVA Vector  (0) 2022.08.14
JAVA Calendar  (0) 2022.08.14