1

だから私はこの問題を抱えています:

File file = new File ("file.txt");Linuxでこのようにnewでファイルを作成するときに、Javaがファイルを保存する場所を知る必要がありますか?

4

4 に答える 4

2

Linux on notFile file = new File ("file.txt")は、ファイル システムにファイルを作成しません。ファイルは単なるファイル パス ホルダーです。file.createNewFileファイルを作成するには呼び出す必要があります。のような相対パスfile.txtは、現在のユーザー ディレクトリに対して解決されます。通常は、Java 仮想マシンが呼び出されたディレクトリです。

于 2013-06-27T05:50:32.330 に答える
1

ファイルが実際に追加のコードによって作成されていると仮定すると (Evgeniy が述べたように)、現在の作業ディレクトリが期待どおりでないかどうかを確認してみてください。そのディレクトリを見つけるには、次を試すことができます。

String cwd = System.getProperty("user.dir"));
System.out.println("Current working directory: " + cwd);

あるいは単に

System.out.println ("Path to file: " + file.getAbsolutePath());

それがどこに行き着くべきかを見るために。

于 2013-06-27T05:55:27.807 に答える
0

Windows と同じ場所: 現在のディレクトリ

于 2013-06-27T05:50:47.150 に答える
0

あなたの言及されたコードは、ドライブ上に物理的に新しいファイルを作成しませんが、論理的にはそうです。コードを変更して file.createNewFile のような新しいファイルを作成すると、コードを実行したディレクトリにファイルが作成されます。

于 2013-06-27T05:55:56.327 に答える