Java 9 中 InputStream 的 transferTo() 方法的重要性?

javaobject oriented programmingprogramming

Java 9 中的 InputStream  类中添加了 transferTo() 方法。此方法用于在 Java 中将数据从输入流复制到输出流。这意味着它从输入流读取所有字节,并按照读取的顺序将字节写入输出流。

语法

public long transferTo(OutputStream out) throws IOException

示例

import java.util.Arrays;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

public class TransferToMethodTest {
   public void testTransferTo() throws IOException {
      byte[] inBytes = "tutorialspoint".getBytes();
      ByteArrayInputStream bis = new ByteArrayInputStream(inBytes);
      ByteArrayOutputStream bos = new ByteArrayOutputStream();
      try {
         bis.transferTo(bos);
         byte[] outBytes = bos.toByteArray();
         System.out.println(Arrays.equals(inBytes, outBytes));
      } finally {
         try {
            bis.close();
         } catch(IOException e) {
            e.printStackTrace();
         }
         try {
            bos.close();
         } catch(IOException e) {
              e.printStackTrace();
         }
      }
   }
   public static void main(String args[]) throws Exception {
      TransferToMethodTest test = new TransferToMethodTest();
      test.testTransferTo();
   }
}

输出

true

相关文章