java – 有没有理由为什么File中的某些方法使用布尔值来表示它的
Java中的File类包含使用布尔值来指示正在执行的操作的成功的方法.所述方法的用户需要在每次调用时检查返回值.
以下是从mkdir()获取的文档摘要,说明了要求:
还有一个createNewFile()的情况(甚至更奇怪)使用布尔值和抛出异常来表示成功:
现在,这看起来很不方便,因为用户必须预测两种错误情况,而不是仅使用简单的try-catch块. 这个大惊小怪的原因是什么? 解决方法
因为这是他们设计它的方式,二十多年前.如果您可以让开发人员离开他们的养老院并离开Zimmer框架,您可能会得到更好的答案.否则我们都只是在猜测.
但是,您不需要经常调用这些方法,因为这里的某些人似乎在想.例如,isFile()/ exists()/ delete()/ createNewFile()在新的FileInputStream(…)或新的FileOutputStream(…)之前都是冗余的,这将完全抛出您要查找的异常.在其中任何一个或相应的FileReader / Writer构造函数之前调用File.exists()/ delete()/ createNewFile()比无用更糟糕,这是对时间和空间的积极浪费,做构造函数的工作(或者更确切地说是操作系统代码调用的系统代码)必须重复.我怀疑我20年来曾经使用过File.createNewFile(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |