19

私はEclipseとjdk1.7を使用しています。ディレクトリ内に出力ディレクトリを作る、ファイルハンドリングを使った基本的なプログラムを作っています。しかし、プログラムを実行すると、出力がfalseになり、ディレクトリが作成されません。同名のディレクトリが存在するため、出力が間違っていると思っていましたが、そうではありません。だから私は助けが必要です。これが私のコードです:

import java.io.File;

public class P {
    public static void main(String[] args) {
        File f1 = new File ("abc");
        File f2 = new File (f1,"abc");
        System.out.println(f2.mkdir());
    }
}

その出力は false ですが、ディレクトリは作成されていません。この問題を解決するにはどうすればよいですか? これはこのプログラムだけではありません。メソッドを呼び出しているすべてのプログラムでmkdir()同じ問題が発生しています。

4

7 に答える 7

-1

mkdir には、相対パスではなく抽象パスが必要です。使ってみて…

File f2 = new File (f1, "C:\\");

... 例えば。

Java DOC から:

public boolean mkdir()

この抽象パス名で指定されたディレクトリを作成します。

戻り値:

ディレクトリが作成された場合にのみ true 。それ以外の場合は false

スロー:

SecurityException - セキュリティー・マネージャーが存在し、その SecurityManager.checkWrite(java.lang.String) メソッドが指定されたディレクトリーの作成を許可しない場合

于 2013-07-19T14:07:29.970 に答える