반응형
java에서는 다음 클래스들을 이용하여 파일을 쓸 수 있습니다.
java - write to file
- BufferedWriter
- PrintWriter
- FileOutputStream
- java.nio.file
1. BufferedWriter
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
File file = new File("e:/text.txt");
String str = "Hello world!";
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(file));
writer.write(str);
} catch (IOException e) {
e.printStackTrace();
} finally {
if(writer != null) {
try {
writer.close();
}
catch(Exception ignored) { }
}
}
}
}
- 파일이 존재하지 않는 경우 파일을 생성합니다.(경로가 없는 경우는 에러가 발생합니다.
- 반드시 close()를 호출해야 합니다.
- 만약 아래 코드처럼 try-with-resources를 사용한다면 try가 마지막에 close()를 알아서 호출해주기 때문에 직접 호출하지 않아도 됩니다.
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
File file = new File("e:/text.txt");
String str = "Hello world!";
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
writer.write(str);
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. PrintWriter
import java.io.*;
public class Test {
public static void main(String [] args) {
File file = new File("e:/text.txt");
try {
FileWriter fileWriter = new FileWriter(file);
PrintWriter printWriter = new PrintWriter(fileWriter);
printWriter.println("Hello World!");
printWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- FileWriter도 마찬가지로 close()를 꼭 호출해야 합니다.
- try-with-resources를 사용하면 close()를 호출하지 않아도 됩니다.
3. FileOutputStream
import java.io.*;
public class Test {
public static void main(String argsp[]) {
try {
FileOutputStream fos = new FileOutputStream("c:/text.txt", true);
fos.write("Spain\r\n".getBytes());
fos.write("Spain\r\n".getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- FileOutputStream도 마찬가지로 close()를 꼭 호출해야 합니다.
- try-with-resources를 사용하면 close()를 호출하지 않아도 됩니다.
4. java.nio.file
JDK 7에 도입 된 java.nio.file의 기능을 사용하여 파일에 콘텐츠를 추가 할 수도 있습니다.
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
public static void main(String args[]) {
try {
String contentToAppend = "Spain\r\n";
Files.write(
Paths.get("c:/text.txt"),
contentToAppend.getBytes(),
StandardOpenOption.APPEND);
}
catch(IOException e) {}
}
728x90
반응형
'Database ( DB ) > Database' 카테고리의 다른 글
Oracle 12c Download 방법 (0) | 2021.06.14 |
---|---|
[MSSQL] MSSQL 날짜 변환표(GETDATE, CONVERT) (0) | 2021.05.27 |
DBMS별 함수 비교 (0) | 2021.05.16 |
[MySQL] 문자열 길이 가져오기(length, char_length 함수) (0) | 2021.05.16 |
MariaDB 10.4 대소문자 구분 설정하는 방법 (0) | 2021.05.02 |