안드로이드 개발자의 창고
[9일차 Java] DataStream 본문
출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT
📖 DataStream이란?
- 기본 자료형 값을 byte 배열 형태로 변환해주는 역할을 하는 필터 스트림이다.
- 기본 스트림을 통해 데이터 송수신을 하기 위해서는 바이트 형태의 데이터로 송수신을 하게된다.
- 개발자가 직접 송수신할 데이터를 바이트화 시키거나 바이트화 되어 있는 데이터를 사용하고자 하는 형태로 변환해야 하는데 이 작업을 해주는 스트림이다.
- 데이터 송수신 메서드
- readXXX : read 메서드가 굉장히 많이 존재하는데 각 타입별로 존재하고 있다. 정수형일 경우 readInt를 사용하면 바이트로 넘어온 데이터를 정수형으로 변환하여 되돌려준다.
- writeXXX : 송신하고자 하는 데이터를 바이트 형태로 변환하여 기본 스트림에게 넘겨준다. 정수형일 경우 writeInt를 사용한다.
📖 예제 코드
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class MainClass {
public static void main(String[] args) {
// DataStream
// 기본 자료형 값을 byte 배열 형태로 변환해주는 역할을 하는 필터 스트림이다.
// saveData();
readData();
}
public static void saveData() {
try {
// 기본 스트림 생성
FileOutputStream fos = new FileOutputStream("test3.txt");
// 필터 스트림 생성
// DataStream 생성
DataOutputStream dos = new DataOutputStream(fos);
// 쓴다.
dos.writeInt(100);
dos.writeDouble(11.11);
dos.writeBoolean(true);
dos.writeUTF("안녕하세요");
// 닫는다.
dos.flush();
dos.close();
fos.close();
System.out.println("쓰기 완료");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void readData() {
try {
// 기본 스트림 생성
FileInputStream fis = new FileInputStream("test3.txt");
// DataStream 생성
DataInputStream dis = new DataInputStream(fis);
int a1 = dis.readInt();
double a2 = dis.readDouble();
boolean a3 = dis.readBoolean();
String a4 = dis.readUTF();
// 닫는다
dis.close();
fis.close();
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);
System.out.println(a4);
} catch (Exception e) {
e.printStackTrace();
}
}
}
'Computer > Java' 카테고리의 다른 글
[Java 9일차] ObjectStream (0) | 2023.05.09 |
---|---|
[9일차 Java] 2ByteStream (0) | 2023.05.09 |
[9일차 Java] FileStream (0) | 2023.05.08 |
[8일차 Java] Collection / List / Map / Set (0) | 2023.05.07 |
[8일차 Java] Date와 Calendar (0) | 2023.05.07 |