0

非常に単純に:

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 は相対ファイル リンクを処理できませんか?

助けてくれてありがとう!

4

2 に答える 2

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();
于 2012-05-02T02:15:36.583 に答える
1

distNetbeans は、フォルダーから Java プログラムを実行しています。dataそこにフォルダを作成する必要があります。ただし、場合によっては、Netbeans がフォルダー全体を消去して削除すると思います。絶対パスを使用します。

于 2012-05-02T02:11:07.133 に答える