这代码在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(); 你会看到创建成功了,就在运行那个盘。