gpt4 book ai didi

java - 如果我关闭底层可读文件,不关闭 Java Scanner 是否安全?

转载 作者:IT老高 更新时间:2023-10-28 21:01:25 25 4
gpt4 key购买 nike

如果我有一个需要读取器的方法,并且我想使用 Scanner 对读取器进行操作,如下所示:

Scanner scanner = new Scanner(reader);
while(scanner.hasNext()) {
//blah blah blah
}

不关闭 scanner 是否安全?文档说它“关闭了这个扫描仪”,然后谈到了关闭底层的可读性。假设我不想关闭可读文件,而是希望调用者在准备好时关闭 reader 。不在这里关闭 scanner 是否安全?

最佳答案

这取决于你想要安全防范什么。

  • 如果您只是想确保底层流已关闭,那么任何一种方法都可以。

  • 如果您还希望将 Scanner 标记为已关闭(以便对该对象的所有后续操作将立即失败),那么您应该调用 Scanner.close() .

这是一般原则;即它也适用于以一种或另一种方式进行内存缓冲的各种流。

关于java - 如果我关闭底层可读文件,不关闭 Java Scanner 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5919143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com