📅  最后修改于: 2023-12-03 15:02:04.018000             🧑  作者: Mango
在Java中读写文件或网络流时,我们需要使用 InputStream
和 OutputStream
类。在完成读写操作后,我们需要正确地关闭这些流,以避免资源泄漏和数据丢失。本文将介绍Java关闭 InputStream
和 OutputStream
的正确方法。
关闭 InputStream
需要在 try-catch-finally
块中进行操作。在 finally
块中,我们需要使用 close
方法关闭该流,并捕获可能的 IOException
异常。
InputStream is = new FileInputStream("example.txt");
try {
// 读取文件内容
} catch (IOException e) {
// 处理异常
} finally {
try {
is.close();
} catch (IOException e) {
// 处理异常
}
}
如果您使用的是Java 7或更高版本,则可以使用 try-with-resources
块自动关闭 InputStream
,无需手动调用 close
方法。
try (InputStream is = new FileInputStream("example.txt")) {
// 读取文件内容
} catch (IOException e) {
// 处理异常
}
关闭 OutputStream
与关闭 InputStream
类似。我们需要在 finally
块中调用 close
方法,并捕获可能的 IOException
异常。
OutputStream os = new FileOutputStream("example.txt");
try {
// 写入文件内容
} catch (IOException e) {
// 处理异常
} finally {
try {
os.close();
} catch (IOException e) {
// 处理异常
}
}
同样,如果您使用的是Java 7或更高版本,则可以使用 try-with-resources
块自动关闭 OutputStream
。
try (OutputStream os = new FileOutputStream("example.txt")) {
// 写入文件内容
} catch (IOException e) {
// 处理异常
}
总之,为了确保代码的可靠性和稳定性,我们应该始终使用正确的方法关闭 InputStream
和 OutputStream
。在Java 7或更高版本中,我们可以使用 try-with-resources
来自动关闭流。