0

ファイルがディレクトリであるかどうかを確認し、そうでない場合は作成する次のコードがあります。

        File folder = new File(destFolder);
        if (!folder.isDirectory()) {
            if (!folder.mkdir()) {
                System.out.println("Could not create " + folder.getAbsolutePath());
                return null;
            }
        }

コードは常に「作成できませんでした」を出力します。その名前のフォルダが既に存在することを確認しました。その理由は何ですか?

destFolder を削除しても、同じエラーが表示されます。権限を確認したところ、フォルダーに対する読み取り、書き込み、および実行の権限があります。(奇妙なことに、先週の金曜日まで機能していました!)

私のマシンは Windows 7 を実行しており、Netbeans からコードを実行しています。Java プラットフォームは - JDK 1.7

4

1 に答える 1

2

ファイルがディレクトリでない場合、つまりファイルである場合にのみ、mkdir() 呼び出しに到達します。ファイルに対して mkdir() を実行しようとしています。ディレクトリかどうかではなく、存在するかどうかを確認する必要があります。

于 2012-11-20T03:10:56.033 に答える