본문 바로가기
💾 Backend/자바

💗바이트 단위 스트림/문자 단위 스트림💗

by 정람지 2023. 7. 6.

💗 바이트 단위 스트림 💗


❣️InputStream❣️

바이트 단위로 읽는 스트림 중 최상위 스트림 

하위 스트림 클래스  
FileInputStream 파일에서 / 바이트 단위로 / 자료를 읽음
ByteArrayInputStream Byte 배열 메모리에서/ 바이트 단위로 / 자료를 읽음
FilterInputStream 추가 기능을 제공하는 보조 스트림의 상위 클래스
inputStream 메서드  
int read() 입력 스트림으로부터 /한 바이트의 자료를 읽고 /바이트의 수를 반환
(int 반환형인 이유 / 파일이 끝나면 -1 반환)
int read(byte[] b) 입력 스트림으로부터 /b[]크기의 자료를 읽고 /읽은 자료와 바이트의 수를 반환
int read(byte[] b, int off, int len) 입력 스트림으로부터 / b[]크기의 자료를 off 변수 위치부터 len 길이만큼 읽고 / 읽은 자료와 바이트의 수를 반환
void close() 입력 스트림으로부터 / 연결된 대상 리소스를 닫음

❣️(하위)FileInputStream❣️

생성자  
FileInputStream(String name) 파일 이름(+경로)를 받아 / 입력 스트림 생성
FileInputStream(File f) 파일 클래스 정보를 받아 / 입력 스트림 생성
입력스트림 = new FileInputStream("파일주소"); // 파일 입력 스크림 생성
입력스트림.read(); //사용

❣️OnputStream❣️

바이트 단위로 쓰는 스트림 중 최상위 스트림 

하위 스트림 클래스  
FileOutputStream 파일에서 / 바이트 단위로 / 자료를 씀
ByteArrayOutputStream Byte 배열 메모리에서/ 바이트 단위로 / 자료를 씀
FilterOuputStream 추가 기능을 제공하는 보조 스트림의 상위 클래스
inputStream 메서드  
int write() 한 바이트 출력
int write(byte[] b) byte[] 배열에 있는 자료를 출력 
int write(byte[] b, int off, int len) 입력 스트림으로부터 / b[]크기의 자료를 off 변수 위치부터 len 길이만큼 읽고 / 읽은 자료와 바이트의 수를 출력
void flush() 출력 버퍼를 강제로 비워 출력
void close() 연결된 대상 리소스를 닫음

❣️(하위) FileOutputStream❣️

생성자  
FileOutputStream(String name) 파일 이름(+경로)를 받아 / 출력 스트림 생성
FileOutputStream(String name, boolean append) 파일 이름(+경로)를 받아 / 출력 스트림이 생성, true라면 이어서 입력 
FileOutputStream(File f ) 파일 클래스 정보를 받아 / 출력 스트림 생성
FileOutputStream(File f, boolean append) 파일 클래스 정보를 메서드로 받아 출력 스트림 생성

 


 

💗 문자 단위 스트림 💗


❣️Reader❣️

문자 단위로 읽는 스트림 중 최상위 스트림 

하위 스트림 클래스  
FileReader 파일에서 / 문자 단위로 / 자료를 읽음
InputStreamReader 바이트 단위로 / 자료를 읽어 / 문자로 변환해주는 / 보조 스트림 클래스
BufferedReader 배열을 제공하여 한꺼번에 읽을 수 있는 기능을 제공해 주는 보조 스트림
inputStream 메서드  
int read() 파일으로부터 /한 문자를 읽고 /반환
int read(char[] b) 파일로부터 /b[] 배열에 문자를 읽음
int read(char[] b, int off, int len) 파일로부터 / b[]크기의 자료를 off 변수 위치부터 len 길이만큼 읽음
void close() 입력 스트림으로부터 / 연결된 대상 리소스를 닫음

❣️(하위)FileReader❣️

생성자  
FileReader(String name) 파일 이름(+경로)를 받아 / 입력 스트림 생성
FileReader(File f) 파일 클래스 정보를 받아 / 입력 스트림 생성
FileReader fr = new FileReader("파일주소");
i = fr.read();

바이트 단위 스트림으로 문자를 읽으면 깨져서 보임


❣️Writer❣️

문자 단위로 쓰는 스트림 중 최상위 스트림

하위 스트림 클래스  
FileWriter 파일에서 / 문자 단위로 / 자료를 출력
OutputStreamWriter 파일에 바이트 단위로 출력한 자료를 문자로 변환해 주는 보조 스트림
BufferedWriter 배열을 제공하여 한꺼번에 쓸 수 있는 기능을 제공해 주는 보조 스트림
inputStream 메서드  
int write(int c) 한 문자 출력
int write(char[] b) char[] 배열에 있는 자료를 출력 
int write(char[] b, int off, int len) 입력 스트림으로부터 / b[]크기의 자료를 off 변수 위치부터 len 길이만큼 읽고 / 읽은 자료와 바이트의 수를 출력
int write(String c) 문자열 str를 파일에 출력함
int write(String Str, int off, int len) 문자열 str의 off번째 문자부터 len 개수만큼 파일에 출력
void flush() 출력 버퍼를 강제로 비워 출력
void close() 연결된 대상 리소스를 닫음/ 출력 버퍼도 비워짐

❣️(하위) FileWriter❣️

생성자  
FileWriter(String name) 파일 이름(+경로)를 받아 / 출력 스트림 생성
FileWriter(String name, boolean append) 파일 이름(+경로)를 받아 / 출력 스트림이 생성, true라면 이어서 입력 
FileWriter(File f ) 파일 클래스 정보를 받아 / 출력 스트림 생성
FileWriter(File f, boolean append) 파일 클래스 정보를 메서드로 받아 출력 스트림 생성

'💾 Backend > 자바' 카테고리의 다른 글

💖자바 입출력💖  (0) 2023.06.30
💖자바 람다식💖  (0) 2023.06.27
💞Static 정적 멤버💞  (0) 2023.06.10
💞모듈/패키지💞  (0) 2023.06.09
💖자바 내부 클래스💖  (1) 2023.06.02