2015-04-04 300 views
0

我试图用Java中createNewFile()方法来创建一个新的文件:系统找不到指定的路径

File savegame = new File(System.getenv("APPDATA") + File.separator + "Game" + File.separator + "test" + ".ser"); 

try 
{ 
    savegame.createNewFile(); 
} 
catch(IOException exc) 
{ 
    exc.printStackTrace(); 
} 

,但我得到一个IOException它说,该系统找不到指定的路径,并能不明白为什么?

+1

您是否尝试过在存储游戏中打印路径的值?错误消息非常清楚。该系统找不到指定的路径。 – CKing 2015-04-04 12:27:50

+0

另外,检查System.getenv(“APPDATA”)是否返回一个现有的目录路径名。 – laune 2015-04-04 12:31:36

回答

1

确保存在应该在其中创建文件的目录。要在创建该文件之前创建的目录,你可以做到以下几点:

File savegame = new File(System.getenv("APPDATA") + File.separator + "Game" + File.separator + "test" + ".ser"); 

try 
{ 
    savegame.getParentFile().mkdirs(); // create parent directory 
    savegame.createNewFile(); 
} 
catch(IOException exc) 
{ 
    exc.printStackTrace(); 
} 

File#mkdirs()文档:

创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。请注意,如果此操作失败,则可能会成功创建一些必需的父目录。

+0

谢谢,我不知道我必须先创建父目录。 – 2015-04-04 12:34:16

相关问题