亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java ByteArrayOutputStream 类

Java ByteArrayOutputStream 类

在本教程中,我们将通过示例了解 Java ByteArrayOutputStream 及其方法。

ByteArrayOutputStream java.io 的类 包可用于写入输出数据数组(以字节为单位)。

它扩展了 OutputStream 抽象类。

注意 :在 ByteArrayOutputStream 维护一个内部字节数组来存储数据。


创建一个 ByteArrayOutputStream

为了创建字节数组输出流,我们必须导入 java.io.ByteArrayOutputStream 先打包。导入包后,我们可以通过以下方式创建输出流。

// Creates a ByteArrayOutputStream with default size
ByteArrayOutputStream out = new ByteArrayOutputStream();

在这里,我们创建了一个输出流,它将数据写入默认大小为 32 字节的字节数组。但是,我们可以更改数组的默认大小。

// Creating a ByteArrayOutputStream with specified size
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);

在这里,大小 指定数组的长度。


ByteArrayOutputStream的方法

ByteArrayOutputStream 类提供了 OutputStream 中存在的不同方法的实现 类。

write() 方法

示例:ByteArrayOutputStream 写入数据

import java.io.ByteArrayOutputStream;

class Main {
  public static void main(String[] args) {

    String data = "This is a line of text inside the string.";

    try {
      // Creates an output stream
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      byte[] array = data.getBytes();

      // Writes data to the output stream
      out.write(array);

      // Retrieves data from the output stream in string format
      String streamData = out.toString();
      System.out.println("Output stream: " + streamData);

      out.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

输出

Output stream: This is a line of text inside the string.

在上面的示例中,我们创建了一个名为 output 的字节数组输出流 .

ByteArrayOutputStream output = new ByteArrayOutputStream();

要将数据写入输出流,我们使用了 write() 方法。

注意 :getBytes() 程序中使用的方法将字符串转换为字节数组。


从 ByteArrayOutputStream 访问数据

例如,

import java.io.ByteArrayOutputStream;

class Main {
  public static void main(String[] args) {
    String data = "This is data.";

    try {
      // Creates an output stream
      ByteArrayOutputStream out = new ByteArrayOutputStream();

      // Writes data to the output stream
      out.write(data.getBytes());

      // Returns an array of bytes
      byte[] byteData = out.toByteArray();
      System.out.print("Data using toByteArray(): ");
      for(int i=0; i<byteData.length; i++) {
        System.out.print((char)byteData[i]);
      }

      // Returns a string
      String stringData = out.toString();
      System.out.println("\nData using toString(): " + stringData);

      out.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

输出

Data using toByteArray(): This is data.
Data using toString(): This is data.

在上面的例子中,我们创建了一个字节数组来存储 toByteArray() 返回的数据 方法。

然后,我们使用 for 循环访问数组中的每个字节。这里使用类型转换将每个字节转换为对应的字符。


close() 方法

要关闭输出流,我们可以使用 close() 方法。

但是,close() ByteArrayOutputStream 中的方法无效 班级。即使在 close() 之后我们也可以使用这个类的方法 方法被调用。


ByteArrayOutputStream的其他方法

方法 说明
size() 返回输出流中数组的大小
flush() 清除输出流

要了解更多信息,请访问 Java ByteArrayOutputStream(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 文件类