파일 출력 스트림 (문자 기반) 이란?
파일 출력 스트림 (문자 기반)은 자바에서 텍스트 데이터를 파일에 쓰기 위해 사용되는 스트림이다. 가장 일반적으로 사용되는 클래스는 FileWriter 이다. FileWriter 는 문자 데이터를 파일에 쓸 때 사용되며, 이 클래스는 내부적으로 파일 시스템과 통신하여 데이터를 문자 단위로 파일에 쓰게 해준다. 이는 바이트 기반 스트림인 FileOutputStream 과 대비되며, 텍스트 데이터를 처리할 때는 FileWriter 가 더 적합하다.
FileOutputStream : 바이너리 데이터를 파일에 쓰기에 특히 적합하다.
이미지, 비디오, 오디오 파일 쓰기, 직렬화 데이터 쓰기, 압축 파일 생성
package io.file.ch06;
import java.io.FileWriter;
public class MyFileWriter {
public static void main(String[] args) {
// 파일에다가 문자 기반 스트림을 활용해서 데이터를 써보자.
String data = "Hello, Java File I/O";
try (FileWriter writer = new FileWriter("example.txt")){
//파일에다가 문자열 쓰기
writer.write(data);
writer.write("\n"); // 한 줄 띄움
writer.write("추가 글을 작성할 수 있음");
// 물을 내리다.
writer.flush();
System.out.println("파일에 데이터 쓰기 성공");
} catch (Exception e) {
e.printStackTrace();
}
}// end of main
}// end of class
💡 BufferedWriter 는 자바에서 문자 출력 스트림에 대한 버터링을 제공하는 클래스이다. 버퍼링은 데이터를 임시 저장공간인 버퍼에 모아둔 후, 일정량이 모이면 출력 장치로 한 번에 전송하는 기술로, 반복적인 I/O 작업에 다른 성능 저하를 줄여준다. BufferedWriter 를 사용하면 데이터를 라인 단위로 쉽게 작성할 수 있으며, 출력 성능을 향상시킬 수 있다.
package io.file.ch06;
import java.io.BufferedWriter;
import java.io.FileWriter;
// 버퍼를 활용 파일 출력 스트림의 사용
public class MyFileBufferedWriter {
public static void main(String[] args) {
String filePath = "output3.txt";
try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath))) {
bw.write("첫번째 줄입니다.");
bw.newLine();
bw.write("두번째 줄입니다.");
bw.newLine();
bw.write("세번째 줄입니다.");
bw.flush();
} catch (Exception e) {
// TODO: handle exception
}
}// end of main
}// end of class
728x90
'Java' 카테고리의 다른 글
로그와 파일 저장 (0) | 2024.05.21 |
---|---|
파일복사 ( 문자기반 입/출력 ), ZIP 파일로 압축 (0) | 2024.05.21 |
파일 입력 스트림 ( 문자 기반 스트림 ) (0) | 2024.05.20 |
문자 기반 스트림 (0) | 2024.05.17 |
파일 Copy ( 바이트기반 입/출력 ) (0) | 2024.05.16 |