ByteArrayOutputStream
优质
小牛编辑
130浏览
2023-12-01
ByteArrayOutputStream类流在内存中创建缓冲区,发送到流的所有数据都存储在缓冲区中。
以下是ByteArrayOutputStream类提供的构造函数列表。
Sr.No. | 构造函数和描述 |
---|---|
1 | ByteArrayOutputStream() 此构造函数创建一个具有32字节缓冲区的ByteArrayOutputStream。 |
2 | ByteArrayOutputStream(int a) 此构造函数创建一个具有给定大小的缓冲区的ByteArrayOutputStream。 |
一旦掌握了ByteArrayOutputStream对象,就会有一个辅助方法列表,可用于编写流或在流上执行其他操作。
Sr.No. | 方法和描述 |
---|---|
1 | public void reset() 此方法将字节数组输出流的有效字节数重置为零,因此将丢弃流中的所有累积输出。 |
2 | public byte[] toByteArray() 此方法创建新分配的Byte数组。 它的大小将是输出流的当前大小,缓冲区的内容将被复制到其中。 以字节数组的形式返回输出流的当前内容。 |
3 | public String toString() 将缓冲区内容转换为字符串。 翻译将根据默认字符编码完成。 返回从缓冲区内容转换的String。 |
4 | public void write(int w) 将指定的数组写入输出流。 |
5 | public void write(byte []b, int of, int len) 将从偏移量off开始的len个字节数写入流。 |
6 | public void writeTo(OutputStream outSt) 将此Stream的全部内容写入指定的流参数。 |
例子 (Example)
以下是演示ByteArrayOutputStream和ByteArrayInputStream的示例。
import java.io.*;
public class ByteStreamTest {
public static void main(String args[])throws IOException {
ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12);
while( bOutput.size()!= 10 ) {
// Gets the inputs from the user
bOutput.write("hello".getBytes());
}
byte b [] = bOutput.toByteArray();
System.out.println("Print the content");
for(int x = 0; x < b.length; x++) {
// printing the characters
System.out.print((char)b[x] + " ");
}
System.out.println(" ");
int c;
ByteArrayInputStream bInput = new ByteArrayInputStream(b);
System.out.println("Converting characters to Upper case " );
for(int y = 0 ; y < 1; y++ ) {
while(( c = bInput.read())!= -1) {
System.out.println(Character.toUpperCase((char)c));
}
bInput.reset();
}
}
}
以下是上述程序的示例运行 -
输出 (Output)
Print the content
h e l l o h e l l o
Converting characters to Upper case
H
E
L
L
O
H
E
L
L
O