Ex03_파일저장, Ex04_파일읽기, Ex05_Helper테스트, Ex06_Helper테스트2 파일들을 통해서 설명받고 싶은게, stream 이란 개념이 뭐야?
스트림(Stream)은 데이터의 흐름을 의미하며, 데이터를 읽고 쓰는 데 사용되는 추상화된 개념입니다. 스트림은 연속적인 데이터의 흐름을 처리하는 데 사용되며, 파일, 네트워크 소켓, 메모리 등 다양한 데이터 소스와 목적지에서 데이터를 읽고 쓸 수 있습니다.
Java에서 스트림은 크게 두 가지 유형으로 나뉩니다:
바이트 스트림 (Byte Stream): 바이트 단위로 데이터를 처리합니다. 주로 파일 I/O와 같은 바이너리 데이터를 처리할 때 사용됩니다.
문자 스트림 (Character Stream): 문자 단위로 데이터를 처리합니다. 주로 텍스트 데이터를 처리할 때 사용됩니다.
바이트 스트림
InputStream: 바이트 단위로 데이터를 읽는 데 사용됩니다.
OutputStream: 바이트 단위로 데이터를 쓰는 데 사용됩니다.
문자 스트림
Reader: 문자 단위로 데이터를 읽는 데 사용됩니다.
Writer: 문자 단위로 데이터를 쓰는 데 사용됩니다.
예제 파일 설명
Ex03_파일저장.java
이 파일에서는 문자열 데이터를 바이트 배열로 변환하여 파일에 저장하는 과정을 다룹니다. 여기서 스트림은 데이터를 파일에 쓰는 데 사용됩니다.
Ex04_파일읽기.java
이 파일에서는 파일에서 데이터를 읽어 바이트 배열에 저장하는 과정을 다룹니다. 여기서 스트림은 파일에서 데이터를 읽는 데 사용됩니다.
Ex05_Helper테스트.java & Ex06_Helper테스트2.java
이 파일들은 스트림을 사용하여 데이터를 읽고 쓰는 기능을 테스트하는 데 사용됩니다. 스트림을 통해 파일 I/O 작업을 수행하고, 그 결과를 검증합니다.
스트림의 사용 예제
다음은 파일에 데이터를 쓰고 읽는 간단한 예제입니다.
파일에 데이터 쓰기 (바이트 스트림)
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteExample {
public static void main(String[] args) {
String content = "Hello, World!";
try (FileOutputStream fos = new FileOutputStream("example.txt")) {
byte[] buffer = content.getBytes("UTF-8");
fos.write(buffer);
} catch (IOException e) {
e.printStackTrace();
}
}
}
파일에서 데이터 읽기 (바이트 스트림)
import java.io.FileInputStream;
import java.io.IOException;
public class ReadExample {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("example.txt")) {
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
String content = new String(buffer, "UTF-8");
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
이 예제들은 스트림을 사용하여 파일에 데이터를 쓰고 읽는 기본적인 방법을 보여줍니다. 스트림은 데이터를 처리하는 데 매우 유용한 도구이며, 다양한 데이터 소스와 목적지에서 데이터를 효율적으로 처리할 수 있게 해줍니다.
'언어 및 도구들 공부 > Java' 카테고리의 다른 글
Retrofit 라이브러리 (0) | 2024.09.30 |
---|---|
Java lombok 라이브러리 (0) | 2024.09.30 |
buffer 5 (0) | 2024.09.28 |
buffer 4 (0) | 2024.09.28 |
Stream 2 (0) | 2024.09.28 |