java
이 자습서에서는 예제를 통해 Java OutputStreamWriter 및 해당 메서드에 대해 알아봅니다.
OutputStreamWriter
java.io
클래스 패키지는 문자 형식의 데이터를 바이트 형식의 데이터로 변환하는 데 사용할 수 있습니다.
추상 클래스 Writer
를 확장합니다. .
OutputStreamWriter
클래스는 다른 출력 스트림과 함께 작동합니다. 바이트 스트림과 문자 스트림 간의 브리지라고도 합니다. 그 이유는 OutputStreamWriter
문자를 바이트로 변환합니다.
예를 들어, 일부 문자는 저장소에 2바이트를 저장해야 합니다. 이러한 데이터를 쓰기 위해 문자를 해당 바이트로 변환하고 바이트를 함께 저장하는 출력 스트림 작성기를 사용할 수 있습니다.
<시간>
OutputStreamWriter
를 생성하려면 , java.io.OutputStreamWriter
를 가져와야 합니다. 먼저 패키지. 여기에서 패키지를 가져오면 출력 스트림 작성자를 생성할 수 있습니다.
// Creates an OutputStream
FileOutputStream file = new FileOutputStream(String path);
// Creates an OutputStreamWriter
OutputStreamWriter output = new OutputStreamWriter(file);
위의 예에서는 OutputStreamWriter
을 생성했습니다. FileOutputStream
와 함께 명명된 출력 명명된 파일입니다.
여기서는 기본 문자 인코딩을 사용하여 출력 스트림에 문자를 씁니다.
그러나 문자 인코딩 유형(UTF8 또는 UTF16 ) 데이터를 쓰는 데 사용됩니다.
// Creates an OutputStreamWriter specifying the character encoding
OutputStreamWriter output = new OutputStreamWriter(file, Charset cs);
여기에서는 Charset
을 사용했습니다. 문자 인코딩 유형을 지정하는 클래스입니다.
OutputStreamWriter
클래스는 Writer
에 있는 다양한 메서드에 대한 구현을 제공합니다. 수업.
write()
- 작가에게 단일 문자를 씁니다.write(char[] array)
- 지정된 배열의 문자를 작성자에게 씁니다.write(String data)
- 작성자에게 지정된 문자열을 씁니다.
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String args[]) {
String data = "This is a line of text inside the file.";
try {
// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream("output.txt");
// Creates an OutputStreamWriter
OutputStreamWriter output = new OutputStreamWriter(file);
// Writes string to the file
output.write(data);
// Closes the writer
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
위의 예에서 파일 출력 스트림을 사용하여 출력 스트림 판독기를 만들었습니다. 출력 스트림 리더는 output.txt와 연결됩니다. 파일.
FileOutputStream file = new FileOutputStream("output.txt");
OutputStreamWriter output = new OutputStreamWriter(file);
파일에 데이터를 쓰기 위해 write()
을 사용했습니다. 방법.
여기에서 프로그램을 실행하면 output.txt 파일은 다음 내용으로 채워집니다.
This is a line of text inside the file.
<시간>
getEncoding()
메서드를 사용하여 출력 스트림에 데이터를 쓰는 데 사용되는 인코딩 유형을 가져올 수 있습니다. 예를 들어,
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
import java.io.FileOutputStream;
class Main {
public static void main(String[] args) {
try {
// Creates an output stream
FileOutputStream file = new FileOutputStream("output.txt");
// Creates an output stream reader with default encoding
OutputStreamWriter output1 = new OutputStreamWriter(file);
// Creates an output stream reader specifying the encoding
OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8"));
// Returns the character encoding of the output stream
System.out.println("Character encoding of output1: " + output1.getEncoding());
System.out.println("Character encoding of output2: " + output2.getEncoding());
// Closes the reader
output1.close();
output2.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
출력
The character encoding of output1: Cp1252 The character encoding of output2: UTF8
위의 예에서 output1이라는 2개의 출력 스트림 작성자를 만들었습니다. 및 출력2 .
getEncoding()
메소드는 기본 문자 인코딩을 반환합니다.getEncoding()
메서드는 지정된 문자 인코딩을 반환합니다.
참고 :Charset.forName()
을 사용했습니다. 문자 인코딩 유형을 지정하는 방법입니다. 자세한 내용은 Java Charset(공식 Java 설명서)을 참조하십시오.
출력 스트림 작성기를 닫으려면 close()
를 사용할 수 있습니다. 방법. close()
메소드가 호출되면 라이터를 사용하여 데이터를 쓸 수 없습니다.
메소드 | 설명 |
---|---|
flush() | 라이터에 있는 모든 데이터를 해당 대상에 강제로 기록합니다. |
append() | 지정된 문자를 현재 작성자에 삽입 |
자세한 내용은 Java OutputStreamWriter(공식 Java 설명서)를 참조하십시오.
java
자바 작성기 클래스 이 자습서에서는 예제를 통해 Java Writer, 해당 하위 클래스 및 메서드에 대해 알아봅니다. Writer java.io 클래스 패키지는 문자 스트림을 나타내는 추상 슈퍼클래스입니다. Writer 이후 추상 클래스이므로 그 자체로는 유용하지 않습니다. 그러나 하위 클래스를 사용하여 데이터를 쓸 수 있습니다. 작가의 하위 클래스 Writer의 기능을 사용하려면 , 우리는 그 하위 클래스를 사용할 수 있습니다. 그 중 일부는 다음과 같습니다. BufferedWriter OutputStreamWriter
자바 PrintWriter 클래스 이 자습서에서는 예제를 통해 Java PrintWriter와 그 print() 및 printf() 메서드에 대해 배웁니다. PrintWriter java.io 클래스 패키지는 일반적으로 읽을 수 있는 형식(텍스트)으로 출력 데이터를 작성하는 데 사용할 수 있습니다. 추상 클래스 Writer를 확장합니다. . PrintWriter 작업 다른 작성자와 달리 PrintWriter 원시 데이터를 변환합니다(int , float , char 등)을 텍스트 형식으로 변환합니다. 그런 다음 형식이 지