Java.io.OutputStream.write() 方法

描述

java.io.OutputStream.write(byte[] b, int off, int len) 方法将指定字节数组中的 len 个字节从 offset off 开始写入此输出流。 write(b, off, len) 的一般约定是数组 b 中的一些字节按顺序写入输出流; 元素 b[off] 是写入的第一个字节, b[off+len-1] 是此操作写入的最后一个字节。

OutputStream 的 write 方法在每个要写出的字节上调用一个参数的 write 方法。 鼓励子类重写此方法并提供更有效的实现。

如果 b 为 null,则抛出 NullPointerException。 如果 off 为负数,或 len 为负数,或 off+len 大于数组 b 的长度,则抛出 IndexOutOfBoundsException。


声明

以下是 java.io.OutputStream.write() 方法的声明。

public void write(byte[] b, int off, int len)

参数

  • b − 数据。

  • off − 数据中的起始偏移量。

  • len − 要写入的字节数。


返回值

此方法不返回值。


异常

IOException − 如果发生 I/O 错误。 特别是,如果输出流关闭,则会引发 IOException。


示例

下面的例子展示了 java.io.OutputStream.write() 方法的使用。

package com.tutorialspoint;

import java.io.*;

public class OutputStreamDemo {
   public static void main(String[] args) {
      byte[] b = {'h', 'e', 'l', 'l', 'o'};
      
      try {
         // create a new output stream
         OutputStream os = new FileOutputStream("test.txt");

         // craete a new input stream
         InputStream is = new FileInputStream("test.txt");

         // write something
         os.write(b, 0, 3);

         // read what we wrote
         for (int i = 0; i < 3; i++) {
            System.out.print("" + (char) is.read());
         }
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

hel