File类允许您在文件系统上创建新目录和新文件。
实现这一目标的方法是:
public boolean createNewFile() throws IOException
- 和 -
public boolean mkdir()
创建新文件的操作如何可能导致抛出IOException,但是创建新目录的操作却没有?
我接受过Java开发人员培训,非常了解抛出已检查异常的操作,因此我希望此处更加一致,除非有充分的理由缺乏一致性。如果操作成功,则两个方法都返回true。
答案 0 :(得分:4)
因为它是the API的一部分:
public boolean mkdir()
创建此抽象路径名命名的目录。
<强>返回:强>
true
当且仅当目录已创建时;false
否则
我会接受在这方面可以改进API。
答案 1 :(得分:2)
我们只能猜测,但我的猜测的主要原因是他们学到了。
在Java 1.2中添加了 createNewFile()
,这是Java 1.0之后的几年。而且他们已经知道使用返回值是一种沟通错误条件的坏方法(他们以前知道它,但并未在任何地方应用它。)
请注意,当createNewFile()
存在且没有异常时,请求的文件存在!返回值唯一的区别在于它之前是否存在。
如果失败来创建文件,则抛出异常。