파파비의 블로그
필터스트림 본문
반응형
기본스트림을 활용하면 불편한 점들이 많다.
먼저 항상 전송되는 data는 byte로 변환해야하는 불편함도 있고,
보안 등의 이슈도 생실 수 있다.
그래서 필터스트림이라는 것이 있다.
필터스트림은 직접적인 in/out 기능은 없다
기본 스트림에 필터를 붙이듯 기능이 추가된 스트림이다.
(기본 스트림은 데이터의 송수신만 가능하기 때문이다.)
필터스트림을 사용하는 방법은
먼저 기본스트림 객체를 만들고,
필터스트림 객체를 만들 때 기본스트림을 넣으면 된다.
필터스트림은 data를 출력할 때, 우리가 굳이 byte로 안바꾸게 할 수도 있고,
보안을 유지하게끔 암호화를 해줄 수 도 있다.
필터스트림의 종류는 다양하며 filterstream을 상속하는 것들을 필터스트림이라고 한다.
코드를 통해 확인해보자
//먼저 try - catch로 예외에 대한 처리를 해준다
try
{
//기본스트림 중 하나인 파일 io 스트림을 만들고,
// 그 뒤에 필터스트림 중 하나인 dataoutputstream을 만들었다. 인자로 기본스트림 넣기
String path = "C:\\javatest\\a.txt";
FileOutputStream fos = new FileOutputStream(path);
DataOutputStream dos = new DataOutputStream(fos);
// 필터스트림을 통해 데이터를 넣는데 byte로 변환해줄 필요가 없다.
//UTF는 string을 넣을 때 사용한다.
dos.writeUTF("스트링~");
dos.writeInt(10);
// flush와 close를 잊지말자
dos.flush();
dos.close();
fos.close();
// 데이터를 읽어 올 때도 마찬가지로, 기본스트림 > 객체스트림(기본스트림)
FileInputStream fis = new FileInputStream(path);
DataInputStream dis = new DataInputStream(fis);
// 읽어올때 순서에 유의해야 한다.
String str = dis.readUTF();
int num = dis.readInt();
dis.close();
fis.close();
// 넣은대로 똑같이 나오는 것을 확인할 수 있다
System.out.println(str);
System.out.println(num);
}
catch(IOException e) {
}
반응형
'개발 > java' 카테고리의 다른 글
Comparable vs Comparator in Java // Sort 로직 구현하기 (0) | 2020.09.23 |
---|---|
스트림의 개념과 file IO stream (0) | 2020.04.07 |
자바의 try-catch, throws, throw /예외처리 (0) | 2020.04.05 |
Thread 쓰레드 (0) | 2020.04.05 |
인터페이스 (0) | 2020.04.05 |
Comments