Java File IO +相对路径+ NetBeans

时间:2012-05-02 02:07:04

标签: java netbeans file-io

很简单:

File account = new File("./data/account");
account.createNewFile();

给我:

java.io.IOException: No such file or directory
  at java.io.UnixFileSystem.createFileExclusively(Native Method)
  at java.io.File.createNewFile(File.java:900)
  ...

为什么file.createNewFile()会给我一个IOException消息No such file or directory?我告诉它要创建文件。

在NetBeans之外运行此代码似乎没有问题,NetBeans无法处理相关文件链接吗?

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

如果./data不存在,则该呼叫将失败。

File f = new File("./data/account");
if(!f.getParentFile().exists()) { // if the directories don't exist
    if(!f.getParentFile().mkdirs()) { // if making the directories fails
        // directories weren't created, throw exception or something
    }
}
f.createNewFile();

答案 1 :(得分:1)

Netbeans正在运行dist文件夹中的java程序。您需要在那里创建data文件夹。但是,我相信在某些情况下,Netbeans会清除整个文件夹,因此会将其删除。我会使用绝对路径。