이전에 배운 FileOutputStream 의 경우 Byte 단위로 출력해야 한다.
경량의 데이터로 Byte로 출력해야 하는 경우도 있겠지만 보통은 String 이 출력의 대상이 되지 않을까 한다.
String으로 출력하는 데는 두 가지 방법이 있다.
먼저 FileWriter.
import java.io.FileWriter;
import java.io.IOException;
public class FileWrite {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("c:/out.txt");
for(int i=1; i<11; i++) {
String data = i+" 번째 줄입니다.\r\n";
fw.write(data);
}
fw.close();
}
}
이전과 뭐가 다른가 싶을 수 있는데, FileOutputStream의 경우에는 write() 메서드 안에 data.getBytes가 들어가고
PrintWriter의 경우에는 data가 들어간다.
FileOutputStream은 파라미터로 Byte 배열이 들어가고, PrintWriter는 파라미터로 String이 들어간단 얘기다.
그럼 FileWriter와 다른 PrintWriter는 뭘까
import java.io.IOException;
import java.io.PrintWriter;
public class FileWrite {
public static void main(String[] args) throws IOException {
PrintWriter pw = new PrintWriter("c:/out.txt");
for(int i=1; i<11; i++) {
String data = i+" 번째 줄입니다.";
pw.println(data);
}
pw.close();
}
}
PrintWriter도 FileWriter와 마찬가지로 String의 파라미터를 가진다.
다만 차이는 PrintWriter는 System.out.println과 마찬가지로 println이 가능해서 한줄 띄기를 지원한다.
FileWriter가 String content의 마지막에 /r/n을 추가해야하는 것과 달리 온전한 컨텐츠를 입력할 수 있다는 얘기다.
'Back-End > Java' 카테고리의 다른 글
File I/O : FileInputStream, BufferedReader (0) | 2021.04.02 |
---|---|
File I/O : FileWriter 로 내용 추가하기 (0) | 2021.04.02 |
File I/O : FileOutputStream (0) | 2021.04.01 |
댓글