English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서 우리는 예제를 통해 Java FileWriter 및 그 메서드를 배웁니다.
java.io 패키지의 FileWriter 클래스는 데이터(문자 단위로)를 파일에 쓰기 위해 사용될 수 있습니다.
그것은 OutputStreamWriter 클래스를 상속합니다.
FileWriter에 대해 더 알아보기 전에, 다음을 확인해 주세요Java 파일.
파일 작성자를 생성하기 위해 먼저 Java.io.FileWriter 패키지를 가져오는 것이 필요합니다. 패키지를 가져온 후, 파일 작성자를 생성할 수 있습니다.
1. 파일 이름을 사용하여
FileWriter output = new FileWriter(String name);
여기서 우리는 지정된 파일 이름에 연결된 파일 작성자를 생성합니다.
2. 파일 객체를 사용하여
FileWriter input = new FileWriter(File fileObj);
여기서 우리는 파일 객체가 지정한 파일에 연결된 파일 작성자를 생성합니다.
위의 예제에서 데이터는 특정 기본 문자编码으로 저장되었습니다.
하지만, Java 11그리고, 문자编码의 유형을 지정할 수도 있습니다. (UTF8또는UTF16)
FileWriter input = new FileWriter(String file, Charset cs);
여기서 우리는 Charset 클래스를 사용하여 파일 작성자의 문자编码을 지정합니다.
FileWriter 클래스는 Writer 클래스에 나타나는 다양한 메서드에 대한 구현을 제공합니다.
write() -쓰기기에 문자를 입력
write(char[] array) -지정된 배열의 문자를 쓰기기에 입력
write(String data) -지정된 문자열을 쓰기기에 입력
import java.io.FileWriter; public class Main { public static void main(String args[]) { String data = "This is the data in the output file"; try { // FileWriter를 생성 FileWriter output = new FileWriter("output.txt"); // 문자열을 파일에 입력 output.write(data); //writer를 닫습니다 output.close(); e.getStackTrace(); catch(Exception e) { catch(Exception e) { e.getStackTrace(); e.getStackTrace(); e.getStackTrace();
위의 예제에서는 output이라는 이름의 파일 쓰기기를 생성했습니다. 출력 읽기기는output.txt파일 링크.
FileWriter output = new FileWriter("output.txt");
데이터를 파일에 입력하려면 write() 메서드를 사용합니다.
프로그램을 실행할 때,output.txt파일은 다음 내용으로 채워질 것입니다.
This is a line of text inside the file.
getEncoding() 메서드는 데이터 입력에 사용할 인코딩 유형을 얻을 수 있습니다. 예를 들어,
import java.io.FileWriter; import java.nio.charset.Charset; class Main { public static void main(String[] args) { String file = "output.txt"; try { //기본 인코딩으로 FileReader를 생성 FileWriter output1 = new FileWriter(file); //지정된 인코딩으로 FileReader를 생성 FileWriter output2 = new FileWriter(file, Charset.forName("UTF8"); //읽기기의 문자编码을 반환 System.out.println("output1의 문자编码: " + output1.getEncoding()); System.out.println("output2의 문자编码: " + output2.getEncoding()); // 关闭 reader output1关闭 reader output2关闭 reader e.getStackTrace(); .close(); catch(Exception e) { e.getStackTrace(); e.getStackTrace(); e.getStackTrace();
}
output1출력 결과1252 output2의 문자 encoding을 설정했습니다: Cp8
위의 예제에서는 다음과 같은 문자 encoding을 설정했습니다: UTF2개의 파일 작성자를 생성했습니다. 각각의 이름은 output1와 output2.
output1문자 encoding을 지정하지 않았습니다. 따라서 getEncoding() 메서드는 기본 문자 encoding을 반환합니다.
output2지정된 문자 encodingUTF8. 따라서 getEncoding() 메서드는 지정된 문자编码을 반환합니다.
주의: Charset.forName() 메서드를 사용하여 문자编码 유형을 지정했습니다.
파일 작성자를 닫으려면 close() 메서드를 사용할 수 있습니다. close() 메서드를 호출하면, 더 이상 writer를 통해 데이터를 쓰지 못합니다.
메서드 | 설명 |
---|---|
flush() | 작성자에 존재하는 모든 데이터를 강제로 해당 목적지에 쓰습니다 |
append() | 지정된 문자를 현재 작성자에 삽입합니다 |