gpt4 book ai didi

java - 为什么 C# 和 Java 等高级语言不强制文件关闭?

转载 作者:行者123 更新时间:2023-12-01 07:04:35 26 4
gpt4 key购买 nike

大多数时候,学生都会获得基于控制台的管理系统作业,即图书馆或销售点系统等。他们必须使用传统的文件系统来存储数据。

并且 80-90% 的情况下,他们会在打开或创建文件后忘记关闭文件。

someFile.close();

(他们必须调试所有代码才能找到任何错误,以及为什么他们的数据没有存储在文件中。作为导师,我自己也多次遇到过这个问题。)

所以真正的问题是,这些高级语言(尤其是 Java)强制执行异常处理的方式为什么没有任何东西来强制文件关闭?

最佳答案

只要资源被释放(通过垃圾收集,这预计不会是确定性的),资源就会被释放。如果您想以确定的方式处置它们(而不是在释放它们时),在 Java 中可以使用 try-with-resources block ,在 C# 中可以使用 using 阻止。

为什么他们不强制所有封装自动关闭/一次性资源的类型都这样做?嗯,只是因为这种模式仅在某些用例中有效。如果他们强制执行,那么在所有其他情况下都会很麻烦。

关于java - 为什么 C# 和 Java 等高级语言不强制文件关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29176647/

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