📜  Java中的 ByteArrayOutputSteam close() 方法及示例

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

Java中的 ByteArrayOutputSteam close() 方法及示例

Java中的ByteArrayOutputStream类的close()方法如果在关闭ByteArrayOutputStream后调用该类的其他方法是无效的。即使在关闭 ByteArrayOutputStream 之后调用另一个方法,此方法也不会抛出异常。

句法:

public void close()

指定者:该方法由AutoCloseable接口的close()方法和Closeable接口的close()方法指定。

覆盖:此方法覆盖OutputStream类的 close() 方法。

参数:此方法不接受任何参数。

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

异常:此方法不会抛出任何异常。

下面的程序说明了 IO 包中 ByteArrayOutputStream 类中的 close() 方法:

方案一:

// Java program to illustrate
// ByteArrayOutputStream close() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
 throws IOException
    {
        try {
  
            // Create byteArrayOutputStream
            ByteArrayOutputStream byteArrayOutStr
                = new ByteArrayOutputStream();
  
            // Create byte array
            byte[] buf = { 71, 69, 69, 75, 83 };
  
            // close() is called
            byteArrayOutStr.close();
  
            // Write byte array
            // to byteArrayOutputStream
            byteArrayOutStr.write(buf);
  
            // Print the byteArrayOutputStream
            // as String
            System.out.println(
                byteArrayOutStr.toString());
        }
        catch (Exception e) {
            System.out.println(
                "ByteArrayOutputStream is closed");
        }
    }
}
输出:
GEEKS

方案二:

// Java program to illustrate
// ByteArrayOutputStream close() method
  
import java.io.*;
  
public class GFG {
    public static void main(String[] args)
 throws IOException
    {
        try {
  
            // Create byteArrayOutputStream
            ByteArrayOutputStream byteArrayOutStr
                = new ByteArrayOutputStream();
  
            // Create byte array
            byte[] buf1 = { 71, 69, 69, 75, 83 };
            byte[] buf2 = { 70, 79, 82 };
  
            // Write byte array
            // to byteArrayOutputStream
            byteArrayOutStr.write(buf1);
  
            // close() is called
            byteArrayOutStr.close();
  
            // Write byte array
            // to byteArrayOutputStream
            byteArrayOutStr.write(buf2);
  
            // close() is called again
            byteArrayOutStr.close();
  
            // Write byte array
            // to byteArrayOutputStream
            byteArrayOutStr.write(buf1);
  
            // Print the byteArrayOutputStream
            // as String
            System.out.println(
                byteArrayOutStr.toString());
        }
        catch (Exception e) {
            System.out.println(
                "ByteArrayOutputStream is closed");
        }
    }
}
输出:
GEEKSFORGEEKS

参考:
https://docs.oracle.com/javase/10/docs/api/java Java()