だから私はこの問題を抱えています:
File file = new File ("file.txt");
Linuxでこのようにnewでファイルを作成するときに、Javaがファイルを保存する場所を知る必要がありますか?
Linux on notFile file = new File ("file.txt")
は、ファイル システムにファイルを作成しません。ファイルは単なるファイル パス ホルダーです。file.createNewFile
ファイルを作成するには呼び出す必要があります。のような相対パスfile.txt
は、現在のユーザー ディレクトリに対して解決されます。通常は、Java 仮想マシンが呼び出されたディレクトリです。
ファイルが実際に追加のコードによって作成されていると仮定すると (Evgeniy が述べたように)、現在の作業ディレクトリが期待どおりでないかどうかを確認してみてください。そのディレクトリを見つけるには、次を試すことができます。
String cwd = System.getProperty("user.dir"));
System.out.println("Current working directory: " + cwd);
あるいは単に
System.out.println ("Path to file: " + file.getAbsolutePath());
それがどこに行き着くべきかを見るために。
Windows と同じ場所: 現在のディレクトリ
あなたの言及されたコードは、ドライブ上に物理的に新しいファイルを作成しませんが、論理的にはそうです。コードを変更して file.createNewFile のような新しいファイルを作成すると、コードを実行したディレクトリにファイルが作成されます。