Java - ByteArrayOutputStream writeTo​(OutputStream out)



描述

Java ByteArrayOutputStream writeTo(OutputStream out) 方法將此位元組陣列輸出流的完整內容寫入指定的輸出流引數,就像透過使用 out.write(buf, 0, count) 呼叫輸出流的 write 方法一樣。

宣告

以下是 java.io.ByteArrayOutputStream.writeTo(OutputStream out) 方法的宣告:-

public void writeTo(OutputStream out)

引數

out - 要寫入的指定輸出流

返回值

此方法不返回值。

異常

NullPointerException - 如果 out 為 null。

IOException - 如果發生 I/O 錯誤。

示例 1

以下示例演示了 Java ByteArrayOutputStream writeTo(OutputStream out) 方法的使用。我們建立了 OutputStream 和 ByteArrayOutputStream 引用,然後使用 ByteArrayOutputStream 物件對其進行初始化。現在我們使用 write() 方法將位元組陣列寫入 ByteArrayOutputStream 物件,然後使用 writeTo() 方法,我們將 ByteArrayOutputStream 物件的值複製到 OutputStream 物件,並使用 toString() 方法列印輸出流的字串表示形式。最後在 finally 塊中,我們使用 close() 方法關閉流。

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      byte[] bs = {65, 66, 67, 68, 69, 70, 71, 72};
      OutputStream os = null;
      ByteArrayOutputStream baos = null;
      
      try {
         // create new output stream
         os = new ByteArrayOutputStream();
         
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
      
         // write buffer to the byte array output stream
         baos.write(bs);
         
         // write to the output stream
         baos.writeTo(os);
         
         // print the byte as default character set
         System.out.println(os.toString());
         
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
         if(os!=null)
            os.close();
      }   
   }
}

輸出

讓我們編譯並執行以上程式,這將產生以下結果:-

ABCDEFGH

示例 2

以下示例演示了 Java ByteArrayOutputStream writeTo(OutputStream out) 方法的使用。我們建立了 OutputStream 和 ByteArrayOutputStream 引用,然後使用 ByteArrayOutputStream 物件對其進行初始化。現在我們使用 write() 方法將一些值寫入 ByteArrayOutputStream 物件,然後使用 writeTo() 方法,我們將 ByteArrayOutputStream 物件的值複製到 OutputStream 物件,並使用 toString() 方法列印輸出流的字串表示形式。最後在 finally 塊中,我們使用 close() 方法關閉流。

package com.tutorialspoint;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class ByteArrayOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      OutputStream os = null;
      ByteArrayOutputStream baos = null;
      
      try {
         // create new output stream
         os = new ByteArrayOutputStream();
         
         // create new ByteArrayOutputStream
         baos = new ByteArrayOutputStream();
      
         // write buffer to the byte array output stream
         baos.write(65);
         baos.write(66);
         
         // write to the output stream
         baos.writeTo(os);
         
         // print the byte as default character set
         System.out.println(os.toString());
         
      } catch(Exception e) {
         // if I/O error occurs
         e.printStackTrace();
      } finally {
         if(baos!=null)
            baos.close();
         if(os!=null)
            os.close();
      }   
   }
}

輸出

讓我們編譯並執行以上程式,這將產生以下結果:-

AB
java_bytearrayoutputstream.htm
廣告

© . All rights reserved.