Java.io.ByteArrayOutputStream() Java中的类
Java.io.ByteArrayOutputStream类创建一个输出流,用于将数据写入字节数组。缓冲区的大小会随着数据的写入而自动增长。关闭 byteArrayOutputStream 对其方法的工作没有影响。即使在关闭课程后也可以调用它们。
因此,没有方法抛出 IO 异常。
宣言:
public class ByteArrayOutputStream
extends OutputStream
领域:
构造函数:
- ByteArrayOutputStream() :创建一个新的 ByteArrayOutputStream 来写入字节
- ByteArrayOutputStream(int buffersize) :创建一个新的 ByteArrayOutputStream 并带有buferrsize来写入字节。
方法:
- write(int byte) : Java.io.ByteArrayOutputStream.write(int byte)将指定的字节写入输出流。
句法 :public void write(int byte) Parameters : byte : byte to be written Return : void
- write(byte[] buffer, int offset, int maxlen) : Java.io.ByteArrayOutputStream.write(byte[] buffer, int offset, int maxlen)将数据的 maxlen 字节从缓冲区写入输出流。它使用指定的charsetName (16 位 Unicode 代码单元序列和字节序列之间的命名映射)转换流的内容。
句法 :public void write(byte[] buffer, int offset, int maxlen) Parameters : buffer : data of the buffer offset : starting in the destination array - 'buffer'. maxlen : maximum length of array to be read Return : void
- toByteArray() : Java.io.ByteArrayOutputStream.toByteArray()创建一个与输出流相同的新字节数组
句法 :public byte[] toByteArray() Parameters : ---------- Return : new byte array having the same as that of Output Stream
Java程序解释了 write(byte[] buffer, int offset, int maxlen) 和 toByteArray() 方法的使用:
// Java program illustrating the working of ByteArrayOutputStream // write(byte[] buffer, int offset, int maxlen), toByteArray() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { ByteArrayOutputStream geek_output = new ByteArrayOutputStream(); byte[] buffer = {'J', 'A', 'V', 'A'}; // Use of write(byte[] buffer, int offset, int maxlen) geek_output.write(buffer, 0, 4); System.out.print("Use of write(buffer, offset, maxlen) by toByteArray() : "); // Use of toByteArray() : for (byte b: geek_output.toByteArray()) { System.out.print(" " + b); } } }
输出 :
Use of write(buffer, offset, maxlen) by toByteArray() : 74 65 86 65
- close() : Java.io.ByteArrayOutputStream.close()关闭输出流并释放分配的资源。
句法 :public void close() Parameters : -------------- Return : void
- size() : Java.io.ByteArrayOutputStream.size()返回输出流中缓冲区的大小。
句法 :public int size() Parameters : -------------- Return : size of buffer present inside the Output Stream.
- reset() : Java.io.ByteArrayOutputStream.reset()将完整的流计数重置为零,并将帮助 Stream 重新启动
句法 :public void reset() Parameters : -------------- Return : void.
- toString() : Java.io.ByteArrayOutputStream.toStrign()将输出流的内容转换为平台的默认字符集
句法 :public String toString() Parameters : -------------- Return : the content of Output Stream by converting it to platform's default Character set
- toString(String charsetName) : Java.io.ByteArrayOutputStream.toStrign(String charsetName)将输出流的内容转换为平台指定的字符集
句法 :public String toString(String charsetName) Parameters : -------------- Return : the content of Output Stream by converting it to platform's default Character set
说明使用 ByteArrayOutputStream 类方法的Java程序:
// Java program illustrating the working of ByteArrayOutputStream // write(), size(), toString(String charsetName), // close(), toString(), reset() import java.io.*; public class NewClass { public static void main(String[] args) throws IOException { ByteArrayOutputStream geek_output = new ByteArrayOutputStream(); byte[] buffer = {'J', 'A', 'V', 'A'}; for (byte a : buffer) { // Use of write(int byte) : geek_output.write(a); } // Use of size() : int size = geek_output.size(); System.out.println("Use of size() : " + size); // Use of reset() : System.out.println("Use of reset()"); // USe of toString() : String geek = geek_output.toString(); System.out.println("Use of toString() : "+ geek); // Use of toString(String charsetName) String geek1 = geek_output.toString("UTF-8"); System.out.println("Use of toString(String charsetName) : "+ geek1); // Closing the stream geek_output.close(); } }
输出 :
Use of size() : 4 Use of reset() Use of toString() : JAVA Use of toString(String charsetName) : JAVA