NaN Asked:2020-11-22 22:50:13 +0000 UTC2020-11-22 22:50:13 +0000 UTC 2020-11-22 22:50:13 +0000 UTC 我是否需要在 Java 中关闭 localIO 流 772 如果线程是本地创建的,是否需要在方法结束时关闭它? public void method() { FileInputStream fis = new FileInputStream("input.txt"); ... fis.close(); //Необходимо ли это? } java 3 个回答 Voted Andrew Grow 2020-11-22T22:58:50Z2020-11-22T22:58:50Z 一定。当一个对象被创建时,它被打开以供读取,系统需要知道资源何时再次空闲。此外,如果流未关闭,可能会发生内存泄漏。 Best Answer Leonis 2020-11-22T23:03:51Z2020-11-22T23:03:51Z 是的,您需要将其关闭,以免内存泄漏。关闭我们告诉垃圾收集器该对象可以被删除。如果您不想手动关闭,还有一个替代方法try-с-ресурсами: try (FileInputStream fis = new FileInputStream("input.txt")) { //тут что-то делать с fis. } catch(IOException e) { // обработка исключений } finally { // финализация чего-либо } FileInputStream会自动关闭。在最简单的情况下,finally您可以完全拒绝。 duck codes 2020-11-22T23:14:39Z2020-11-22T23:14:39Z 雷欧尼斯说话。此外,强烈建议使用它try-с-ресурсами(对于 Java 7 及更高版本)而不是在块中手动关闭finally
一定。当一个对象被创建时,它被打开以供读取,系统需要知道资源何时再次空闲。此外,如果流未关闭,可能会发生内存泄漏。
是的,您需要将其关闭,以免内存泄漏。关闭我们告诉垃圾收集器该对象可以被删除。如果您不想手动关闭,还有一个替代方法
try-с-ресурсами:FileInputStream会自动关闭。在最简单的情况下,finally您可以完全拒绝。雷欧尼斯说话。此外,强烈建议使用它
try-с-ресурсами(对于 Java 7 及更高版本)而不是在块中手动关闭finally