0

例として:

public class Hello {
    public static void main(String[] args) {
        try {
            OutputStream os = new FileOutputStream(new File("c.txt"));
            try {
                os.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

c.txtjavaファイルの同じパス以外の現在のプロジェクトのルートパス に生成されたのはなぜですか?ここに画像の説明を入力

ありがとう。

4

3 に答える 3

6

プロジェクトのルートは、JVM を起動するときの現在の作業ディレクトリであるためです。システム プロパティをチェックしてuser.dir、現在の作業ディレクトリを確認できます。先頭のスラッシュ (Unix) またはドライブ指定子/バックスラッシュ (Windows) なしでファイルにアクセスすると、ファイルは現在の作業ディレクトリを基準にして作成されます。

于 2012-10-26T05:51:22.960 に答える
1

フル パスが指定されていません。これは、ファイル コンストラクターがプロセスの現在のディレクトリを使用することを意味します。

于 2012-10-26T05:53:53.907 に答える
0

指定したパスは、変更する場合にのみプロジェクトディレクトリを指します。また、ファイルが生成されるフルパスを指定することもできます。

OutputStream os = new FileOutputStream(new File("c.txt"));

OutputStream os = new FileOutputStream(new File("D:\\c.txt"));
于 2012-10-26T05:55:56.463 に答える