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()