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 : 데이터를 바이트 형태로 읽어온다.
'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 |