Java中的Java.io.ByteArrayOutputStream()类

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)
  •   Java I/O总结

    Java中的Java.io.ByteArrayOutputStream()类

    java.io.ByteArrayOutputStream类创建一个用于将数据写入字节数组的输出流。数据写入时,缓冲区的大小会自动增大。关闭byteArrayOutputStream对其方法的工作没有影响。

    语法:

    public class ByteArrayOutputStream
       extends OutputStream

    领域:

    • protected byte [] buf - 存储数据的缓冲区。
    • protected int count - 缓冲区中有效字节的数量。

    构造函数:

    • ByteArrayOutputStream():创建一个新的ByteArrayOutputStream来写入字节
    • ByteArrayOutputStream(int buffersize):用buferrsize创建一个新的ByteArrayOutputStream 来写入字节。

    方法:

    • write(int byte):java.io.ByteArrayOutputStream.write(int byte)将指定的字节写入输出流。
      句法 :

      public void write(int byte)
      Parameters : 
      byte : byte to be written
      Return :                                               
      void
    • 写(byte []缓冲区,int偏移量,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

      解释使用写入(byte []缓冲区,int偏移量,int maxlen)和toByteArray()方法的Java程序:

      // 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
  •   Java I/O总结
  •   本文标题:Java中的Java.io.ByteArrayOutputStream()类 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/4279.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注