* Create a new empty file with the given pathname. Return
* <code>true</code> if the file was created and <code>false</code> if a
* file or directory with the given pathname already exists. Throw an
* IOException if an I/O error occurs.
*/
public abstract boolean createFileExclusively(String pathname)
throws IOException;
复制代码
这是 FileSystem.java 中的 createFileExclusively(String pathname) 函数,这个 FileSystem 是个 JNI ,也就是 java 本地扩展,它的实现使用 c/c++ 调用系统api或者函数库实现的。看到上面的注释了么,
“Return <code>true</code> if the file was created and <code>false</code> if a file or directory with the given pathname already exists. ”
java 的 createNewFile 的时候会检查 File 表示的文件夹或者文件是否存在,如果其中一个存在就不会创建啦。同理,mkdir 的源码也可以这样分析。