使用 try-with-resources 或在 "finally" 子句中关闭此 "FileOutputStream"
Use try-with-resources or close this "FileOutputStream" in a "finally" clause
连接、流、文件和其他 class 实现 Closeable 接口或其超级接口 AutoCloseable 的实体在使用后需要关闭。此外,关闭调用必须在 finally 块中进行,否则异常可能会阻止调用。优选地,当 class 实现 AutoCloseable 时,应使用“try-with-resources”模式创建资源并将自动关闭。
未能正确关闭资源将导致资源泄漏,这可能首先导致应用程序崩溃,然后可能导致应用程序崩溃。
我假设你问的是如何更改图像中的代码(顺便说一下,不要 post 代码图像)。您需要先创建 FileOutputStream
。考虑以下代码片段:
try (FileOutputStream fos = new FileOutputStream(systemPropertiesFile, "")) {
systemProperties.setProperty("confignode_list",
NodeUrlUtils.convertTConfigNodeUrls(new ArrayList<>(onlineConfigNodes)));
systemProperties.store(fos);
}
catch (IOException xIo) {
// You need to handle this but not enough info in question for me to suggest
}
FileOutputStream
将始终关闭,即使方法 store
抛出 IOException
。
连接、流、文件和其他 class 实现 Closeable 接口或其超级接口 AutoCloseable 的实体在使用后需要关闭。此外,关闭调用必须在 finally 块中进行,否则异常可能会阻止调用。优选地,当 class 实现 AutoCloseable 时,应使用“try-with-resources”模式创建资源并将自动关闭。
未能正确关闭资源将导致资源泄漏,这可能首先导致应用程序崩溃,然后可能导致应用程序崩溃。
我假设你问的是如何更改图像中的代码(顺便说一下,不要 post 代码图像)。您需要先创建 FileOutputStream
。考虑以下代码片段:
try (FileOutputStream fos = new FileOutputStream(systemPropertiesFile, "")) {
systemProperties.setProperty("confignode_list",
NodeUrlUtils.convertTConfigNodeUrls(new ArrayList<>(onlineConfigNodes)));
systemProperties.store(fos);
}
catch (IOException xIo) {
// You need to handle this but not enough info in question for me to suggest
}
FileOutputStream
将始终关闭,即使方法 store
抛出 IOException
。