- [Java] 90. 고수준 스트림 (Data)2024년 05월 22일
- Song hyun
- 작성자
- 2024.05.22.:40
728x90반응형[Java] 90. 고수준 스트림
1. DataInputStream/DataOutputStream(원시 자료형 스트림)
2. DataInputStream/DataOutputStream : 시나리오 코드
1. DataInputStream/DataOutputStream(원시 자료형 스트림)
-DataInputStream/DataOutputStream은 자바의 입출력 스트림 클래스 중 하나로, 원시 자료형(int,double,char...) 을 쉽게 읽고 쓸 수 있게 도와준다. 이 두 클래스는 데이터의 형식을 유지하면서 입력, 출력을 수행할 수 있어, 자료의 손실 없이 데이터를 주고 받을 수 있다는 장점이 있다.
*기타 클래스들은 문자나 바이트 형식의 데이터만 읽고 쓸 수 있다. dataInput/OutputStream은 DataInput/Output 인터페이스를 각각 상속했다. 때문에 데이터를 읽고 쓸 때, 8가지의 기본적인 자료형의 단위로 읽고 쓸 수 있는 것이다.
2. DataInputStream/DataOutputStream : 시나리오 코드(1)(1) DataOutputStream(출력 스트림)
-main 쓰레드에서 "student.txt"라는 파일을 생성하는 것을 볼 수 있다.
-DataOutputStream은 문자, 정수, 실수형 모두 출력이 가능하기 때문에 101,"홍길동",3.5 모두 출력할 수 있는 것이다.
package io.ch08; import java.io.DataOutputStream; import java.io.FileOutputStream; public class MyDataStream { public static void main(String[] args) { // 데이터 쓰기 - byte, 문자 기반이 아닌 원시 기본 자료형 데이터 타입으로 보내기 // 파일에 사용 -- FileOutputStream ("대상 파일명") <-- 확장(보조 스트림) try ( DataOutputStream dos = new DataOutputStream(new FileOutputStream("student.txt"))){ dos.writeInt(101); // 학번 dos.writeUTF("홍길동"); // 이름 dos.writeDouble(3.5); } catch (Exception e) { e.printStackTrace(); } System.out.println(">>> data 쓰기 완료 (원시타입) <<<"); } // end of main }
(2) DataInputStream(입력 스트림)
-(1)에서 입력한 101,"홍길동",3.5 등의 자료형을 readInt,readUTF,readDouble로 읽어들이고 있다.
// 기본 데이터 타입으로 데이터 읽기 try (DataInputStream dis = new DataInputStream((new FileInputStream("student.txt")))){ int id=dis.readInt(); String name = dis.readUTF(); double score = dis.readDouble(); System.out.println("학번 : "+id); System.out.println("이름 : "+name); System.out.println("학점 : "+score); } catch (Exception e) { e.printStackTrace(); } System.out.println(">>> data 읽기 완료 (기본 데이터 타입) <<<");
728x90반응형'Java > 네트워크 통신' 카테고리의 다른 글
[Java] 94. 1:1 단방향 통신 (Client) (0) 2024.05.22 [Java] 93. 1:1 단방향 통신 (Server 측) (0) 2024.05.22 [Java] 92. Socket이란? (0) 2024.05.22 [Java] 91. 고수준 스트림 (Object) (0) 2024.05.22 [Java] 89. 사용자 모드와 커널 모드 (0) 2024.05.22 다음글이전글이전 글이 없습니다.댓글