这代码在windows下执行为什么不报错

@Test
    public void testFile() throws IOException{
        String str = "/home/test";
        File file = new File(str);
        if (!file.exists()) {
            file.mkdir();
            System.out.println(file.getAbsolutePath());
        }
    }

 

[quote]确实是这样啊,其实我想问的是,为什么会这样?它为什么不认为该路径不存在啊,确自主加上运行环境所在的盘符[/quote]
java就是这样认为的啊。/ 表示根,这很好理解吧!

在windows中,根是什么呢?根就是所在盘的根目录!

程序没什么问题啊,为什么要报错

在windows中,"/home/test"相当于在前面加一个盘符,如"c:/home/test",加哪一个盘符就看程序运行时环境在哪个盘。

file.mkdir(); 创建不成功是返回false,不是有异常。

换成 file.mkdirs(); 你会看到创建成功了,就在运行那个盘。