📅  最后修改于: 2023-12-03 14:42:51.123000             🧑  作者: Mango
java.io.PrintStream
类是一个在内存中存储文本的缓冲区,它可以将文本写入到输出流中。close()
方法是 PrintStream
类的一个实例方法,用于关闭流并释放系统资源。
public void close()
该方法没有参数。
该方法没有返回值。
如果在关闭流时出现 I/O 错误,将抛出 IOException
异常。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class ClosePrintStreamExample {
public static void main(String[] args) {
String filePath = "example.txt";
try (PrintStream ps = new PrintStream(new File(filePath))) {
ps.println("Hello World");
ps.println("Java Programming");
ps.close();
System.out.println("PrintStream closed.");
} catch (FileNotFoundException e) {
System.err.println("Failed to create PrintStream: " + e.getMessage());
}
}
}
在上面的示例中,我们创建了一个 PrintStream
对象并将其连接到一个输出文件,然后使用该对象写入两行文本,最后通过调用 close()
方法关闭 PrintStream
对象并释放系统资源。如果没有异常抛出,我们就会看到一条消息打印到控制台上,表明 PrintStream
已经成功关闭。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class ClosePrintStreamExample2 {
public static void main(String[] args) {
String filePath = "example.txt";
PrintStream ps = null;
try {
ps = new PrintStream(new File(filePath));
ps.println("Hello World");
ps.println("Java Programming");
ps.close();
System.out.println("PrintStream closed.");
} catch (FileNotFoundException e) {
System.err.println("Failed to create PrintStream: " + e.getMessage());
} finally {
if (ps != null) {
try {
ps.close();
System.out.println("PrintStream closed in finally block.");
} catch (IOException e) {
System.err.println("Failed to close PrintStream: " + e.getMessage());
}
}
}
}
}
在上面的示例中,我们在 try
块中创建了一个 PrintStream
对象并进行了一些操作,然后在 catch
块中捕获了可能的异常。在 finally
块中,我们使用 ps.close()
再次尝试关闭 PrintStream
对象,并捕获任何可能抛出的异常。使用 finally
块来关闭流是一个良好的做法,因为它确保在异常被抛出时也会正确地释放系统资源。
close()
方法是 PrintStream
类的一个实例方法,用于关闭流并释放系统资源。我们可以使用 try-with-resources
语句来自动关闭该流,或者在 finally
块中手动关闭它。在关闭流时,需要注意处理可能出现的 IOException
异常。