산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 OutputStreamWriter 클래스

자바 OutputStreamWriter 클래스

이 자습서에서는 예제를 통해 Java OutputStreamWriter 및 해당 메서드에 대해 알아봅니다.

OutputStreamWriter java.io 클래스 패키지는 문자 형식의 데이터를 바이트 형식의 데이터로 변환하는 데 사용할 수 있습니다.

추상 클래스 Writer를 확장합니다. .

OutputStreamWriter 클래스는 다른 출력 스트림과 함께 작동합니다. 바이트 스트림과 문자 스트림 간의 브리지라고도 합니다. 그 이유는 OutputStreamWriter 문자를 바이트로 변환합니다.

예를 들어, 일부 문자는 저장소에 2바이트를 저장해야 합니다. 이러한 데이터를 쓰기 위해 문자를 해당 바이트로 변환하고 바이트를 함께 저장하는 출력 스트림 작성기를 사용할 수 있습니다.

<시간>

OutputStreamWriter 생성

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의 메소드

OutputStreamWriter 클래스는 Writer에 있는 다양한 메서드에 대한 구현을 제공합니다. 수업.

write() 메소드

<시간>

예:파일에 데이터를 쓰는 OutputStreamWriter

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() 메소드

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 .

참고 :Charset.forName()을 사용했습니다. 문자 인코딩 유형을 지정하는 방법입니다. 자세한 내용은 Java Charset(공식 Java 설명서)을 참조하십시오.

<시간>

close() 메소드

출력 스트림 작성기를 닫으려면 close()를 사용할 수 있습니다. 방법. close() 메소드가 호출되면 라이터를 사용하여 데이터를 쓸 수 없습니다.

<시간>

OutputStreamWriter의 다른 방법

메소드 설명
flush() 라이터에 있는 모든 데이터를 해당 대상에 강제로 기록합니다.
append() 지정된 문자를 현재 작성자에 삽입

자세한 내용은 Java OutputStreamWriter(공식 Java 설명서)를 참조하십시오.


java

  1. 자바 최종 키워드
  2. 자바 instanceof 연산자
  3. 자바 상속
  4. 자바 중첩 정적 클래스
  5. 자바 익명 클래스
  6. 자바 싱글톤 클래스
  7. 자바 리플렉션
  8. 자바 ObjectOutputStream 클래스
  9. 자바 제네릭
  10. 자바 파일 클래스