前提・実現したいこと
ファイルの存在を確認したい
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
java
1ソースコード 2```import java.nio.file.Files; 3import java.nio.file.Path; 4import java.nio.file.Paths; 5 6public class PathMain { 7 8 public static void main(String[] args) { 9 Path path=Paths.get("TestFile.txt");//pathインスタンスを作成 10 11 //ファイルの存在を確認 12 if(Files.exists(path)) { 13 System.out.println("ファイルはあります"); 14 }else { 15 System.out.println("ファイルが見つかりません"); 16 } 17 if (Files.notExists(path)) { 18 System.out.println("ファイルが存在しません"); 19 } else { 20 System.out.println("ファイルが存在します"); 21 } 22 } 23} 24 25### 試したこと 26 27eclipsを閉じる前は正しく表示されていたのですが、開きなおしたら表示されなくなりました。 28 29### 補足情報(FW/ツールのバージョンなど) 30 31私の記述したコードの実行結果は 32ファイルが見つかりません 33ファイルが存在しません 34と表示されます。しかしサイトに書かれている実行結果には表示されるとなっていました。 35何が間違っているか知りたいです。
「TestFile」というファイル名のファイルはどこに置いてあるんです?
すみません。上のコードが間違っており"TestFile"ではなく"TestFile.txt"です。
また、ほとんど理解できていないのでおかしな質問になるかもしれませんが"TestFile.txt"はどこかに作成しておく必要があるのでしょうか。
Path path=Paths.get("TestFile.txt");
では足りないのですか?
これは、「カレントディレクトリ(フォルダー)にあるファイルを名前で指定して、存在するかどうかを調べる」コードです。(あなたが参考にした)サイトに書かれている実行結果は、カレントフォルダーに指定したファイルが存在していて、その結果を表示しています。まだ、該当ファイルを作成していないのなら、当然「ファイルが見つかりません」になります。
まとめると、「プログラムは正しく動いていて、あなたがプログラムの動作を理解していないために実行結果を理解できていない」ということです。
Path path2=Paths.get("TestFile2.txt");//path2インスタンスを作成
if(Files.exists(path2)) {
System.out.println("ファイルはあります");
}else {
System.out.println("ファイルが見つかりません");
}
その続きでこれを書き、実行した結果は
ファイルはあります
となりました。これはなぜこのようになるのでしょうか。
また、可能であればファイルの作成方法を教えていただきたいです。
なぜ、と言われても、「おそらくあなたがプログラムを実行したときのカレントディレクトリにTestFile2.txtが存在しているから」ぐらいのことしか推測できません。自分の使っているOSや、Eclipseで作業中のプロジェクトフォルダーや、そこにどんなファイルが存在するか、などの、判断に必要な情報をまったく提供していないことを自覚してくださいね。
回答1件
あなたの回答
tips
プレビュー