toByteArray()
方法toByteArray()方法在java.io包中可用。
toByteArray()方法用于实例化一个“字节”类型的新缓冲区,该缓冲区的大小与此ByteArrayOutputStream的当前大小相同。
toByteArray()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
在将流转换为数组时,toByteArray()方法不会引发异常。
语法:
public byte[] toByteArray();
参数:
它不接受任何参数。
返回值:
该方法的返回类型为byte [],它从该ByteArrayOutputStream返回一个“字节”类型的数组。
示例
//Java程序演示示例 //方法 //ByteArrayOutputStream- import java.io.*; public class ToByteArrayOfBAOS { public static void main(String[] args) throws Exception { byte[] b_arr = { 97, 98, 99, 100 }; ByteArrayOutputStream BAOS = null; try { //实例化ByteArrayOutputStream- BAOS = new ByteArrayOutputStream(); //通过使用write()方法是 //将b_arr写入BAOS- BAOS.write(b_arr); //通过使用toString()方法是 //将BAOS表示为字符串 System.out.print("BAOS.toString(): " + BAOS.toString()); System.out.println(); //通过使用toByteArray()方法是 //将BAOS转换为字节数组 byte[] converted = BAOS.toByteArray(); System.out.println("BAOS.toByteArray(): "); for (byte b: converted) System.out.println(b); } catch (Exception ex) { System.out.println(ex.toString()); } finally { if (BAOS != null) BAOS.close(); } } }
输出结果
BAOS.toString(): abcd BAOS.toByteArray(): 97 98 99 100