亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
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);

在上面的例子中,我们创建了一个 OutputStreamWriterFileOutputStream 一起命名的输出 命名文件。

在这里,我们使用默认的字符编码将字符写入输出流。

但是,我们可以指定字符编码的类型(UTF8UTF16 ) 用于写入数据。

// 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

在上面的示例中,我们创建了 2 个名为 output1 的输出流编写器 和 output2 .

注意 :我们使用了 Charset.forName() 方法来指定字符编码的类型。要了解更多信息,请访问 Java Charset(官方 Java 文档)。


close() 方法

要关闭输出流编写器,我们可以使用 close() 方法。一旦 close() 方法被调用,我们不能使用 writer 写入数据。


OutputStreamWriter的其他方法

方法 说明
flush() 强制将写入器中存在的所有数据写入相应的目的地
append() 将指定字符插入当前写入器

要了解更多信息,请访问 Java OutputStreamWriter(Java 官方文档)。


java

  1. Java final 关键字
  2. Java instanceof 运算符
  3. Java 继承
  4. Java 嵌套静态类
  5. Java 匿名类
  6. Java 单例类
  7. Java 反射
  8. Java ArrayList 类
  9. Java 堆栈类
  10. Java ObjectOutputStream 类
  11. Java 泛型
  12. Java 文件类