工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java OutputStreamWriter クラス

Java 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 つの出力ストリーム ライターを作成しました。 および output2 .

注意 :Charset.forName() を使用しました 文字エンコーディングの種類を指定するメソッド。詳細については、Java Charset (公式の Java ドキュメント) を参照してください。


close() メソッド

出力ストリーム ライターを閉じるには、close() を使用できます。 方法。一度 close() メソッドが呼び出されると、ライターを使用してデータを書き込むことはできません。


OutputStreamWriter のその他のメソッド

メソッド 説明
flush() ライターに存在するすべてのデータを対応する宛先に強制的に書き込みます
append() 指定された文字を現在のライターに挿入します

詳細については、Java OutputStreamWriter (公式の Java ドキュメント) にアクセスしてください。


Java

  1. Java 最終キーワード
  2. オペレーターの Java インスタンス
  3. Java 継承
  4. Java ネストされた静的クラス
  5. Java匿名クラス
  6. Java シングルトン クラス
  7. Java リフレクション
  8. JavaArrayList クラス
  9. Java ObjectOutputStream クラス
  10. Javaジェネリック
  11. Java ファイル クラス