📜  Java中的 BufferedOutputStream write() 方法及示例

📅  最后修改于: 2022-05-13 01:55:40.389000             🧑  作者: Mango

Java中的 BufferedOutputStream write() 方法及示例

  1. Java中BufferedOutputStream类的write(int)方法用于将指定字节写入缓冲的输出流。指定的字节作为整数传递给此处的 write() 方法。它用于将一个字节作为时间写入BufferedOutputStream

    句法:

    public void write(int b)
                throws IOException
    

    覆盖:此方法覆盖FilterOutputStream类的write(int)方法。

    参数:此方法接受整数类型的b作为参数,表示要写入的字节。

    返回值:此方法不返回任何值。

    异常:如果发生 I/O 错误,此方法将抛出IOException

    下面的程序说明了 IO 包中 BufferedOutputStream 类中的 write(int) 方法:

    程序:

    // Java program to illustrate
    // BufferedOutputStream write(int) method
    import java.io.*;
    public class GFG {
        public static void main(
            String[] args) throws Exception
        {
      
            // Create byteArrayOutputStream
            ByteArrayOutputStream byteArrayOutStr
                = new ByteArrayOutputStream();
      
            // Convert byteArrayOutputStream to
            // bufferedOutputStream
            BufferedOutputStream buffOutputStr
                = new BufferedOutputStream(
                    byteArrayOutStr);
      
            for (int i = 65; i < 70; i++) {
                // Writes to buffOutputStr
                buffOutputStr.write(i);
            }
      
            // flush is called
            // to compel bytes to be
            // written out to buffOutputStr
            buffOutputStr.flush();
      
            for (
                byte by : byteArrayOutStr.toByteArray()) {
                // Converts byte to character
                char ch = (char)by;
                System.out.print(ch);
            }
        }
    }
    
    输出:
    ABCDE
    
  2. Java中BufferedOutputStream类的write(byte[ ], int, int)方法用于从给定偏移量开始的指定字节数组中写入给定长度的字节到缓冲输出流。
    基本上 write() 方法将给定字节数组中的字节存储到流的缓冲区中,并将缓冲区刷新到主输出流。如果长度等于流的缓冲区,则 write() 方法刷新缓冲区并将字节直接写入主输出流。

    句法:

    public void write(byte[] b,
                      int offset,
                      int length)
                throws IOException
    

    覆盖:此方法覆盖FilterOutputStream类中的write(byte[ ], int, int)方法。

    参数:此方法接受三个参数:

    • b – Byte 类型,代表字节数组。
    • offset – 它是 Integer 类型,表示字节数组中的起始偏移量。
    • 长度——它是整数类型,表示要写入的字节数。

    返回值:此方法不返回任何值。

    异常:如果发生 I/O 错误,此方法将抛出IOException

    下面的程序说明了 IO 包中 BufferedOutputStream 类中的 write(byte[ ], int, int) 方法:

    程序:

    // Java program to illustrate
    // BufferedOutputStream write(
    // byte[ ], int, int) method
    import java.io.*;
    public class GFG {
        public static void main(
            String[] args) throws Exception
        {
      
            // Create byteArrayOutputStream
            ByteArrayOutputStream byteArrayOutStr
                = new ByteArrayOutputStream();
      
            // Convert byteArrayOutputStream to
            // bufferedOutputStream
            BufferedOutputStream buffOutputStr
                = new BufferedOutputStream(
                    byteArrayOutStr);
      
            // Create byte array
            byte b[] = { 71, 69, 69, 75, 83 };
      
            // Call write(byte[ ], int, int)
            // method
            // It writes byte array to
            // buffOutputStr
            buffOutputStr.write(b, 0, 5);
      
            // flush is called
            // to compel bytes to be
            // written out to buffOutputStr
            buffOutputStr.flush();
      
            for (
                byte by : byteArrayOutStr.toByteArray()) {
                // Converts byte to character
                char ch = (char)by;
                System.out.print(ch);
            }
        }
    }
    
    输出:
    GEEKS
    

参考:

  • https://docs.oracle.com/javase/10/docs/api/java Java)
  • https://docs.oracle.com/javase/10/docs/api/java Java, int, int)