Java中的 BufferedOutputStream write() 方法及示例
- 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
- 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)