Java中的Java.io.ByteArrayOutputStream()类

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

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中的Java.io.ByteArrayOutputStream()类 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/4279.html

    发表笔记

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

    更多阅读