关于java中File类小问题

File f2 = new File("c:\abc","b.txt");
f2.createNewFile();

为什么以上代码同时执行会报错?

你的abc目录存在吗

总感觉应该来个if 是否存在 的判断比较好,而且还要处理异常

先判断一下是否存在,然后在创建。应该就可以了。

报错信息放下来看看
new File("c:\abc","b.txt");不会去判断文件 上路径是否存在
但是createNewFile会判断

很少这样写的,可以学习一下Java 文件处理这一章

import java.io.File;
import java.io.IOException;

public class TestCreateFile {

public static void main(String[] args) throws IOException {
    //1: create folder.
    File dir = new File("D:\\ac");
    dir.mkdir();
    //2:create file in folder.
    File file = new File("D:\\ac", "b.txt");
    file.createNewFile();
}

}


1、我运行了你的代码,报错如下,没有这样的文件或文件夹:

Exception in thread "main" java.io.IOException: No such file or directory
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:883)
    at Test.main(Test.java:12)

2、所以,你需要保证c:\abc这个路径是存在的,然后在这个路径下创建b.txt。