12

ファイルを1行ずつ読みたかっただけです。これは単純にするつもりでしたが、私はそれを正しく理解できません!

String fileName = "C:/Users/Diogo/Desktop/Krs_Grafo/Graph.txt";
FileReader file = new FileReader(fileName);
BufferedReader inputStream = new BufferedReader(file);
System.out.println(inputStream.readLine());

エラーが発生し続けます:

Exception in thread "main" java.io.FileNotFoundException: C:\Users\Diogo\Desktop\Krs_Grafo\Graph.txt (O sistema não pode encontrar o arquivo especificado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at java.io.FileReader.<init>(FileReader.java:41)
at krs_grafo.Krs_Grafo.main(Krs_Grafo.java:51)
Java Result: 1

システムはファイルを見つけることができませんが、絶対にそこにあると確信しています! Windows 7 で Netbeans 7.0 を使用しています。

助言がありますか?

コメントで述べたように、「Graph.txt」ではなく「Graph」を検索していました。これは、拡張機能なしで試した前回の実行からのものです。それで、私はそれを一貫性があるように編集しました。それでもうまくいきません。

4

4 に答える 4

10

ここでの問題は、ファイル名が実際には「Graph.txt.txt 」で、拡張子が隠されているために見えなかったことです。

コメントで「指定されたディレクトリに cd と dir を出力する」ことを求めたユーザー「Michael Brewer-Davis」に感謝します。

また、/ と \\ のどちらでも問題なく機能することも指摘してください。

于 2011-07-01T23:02:22.220 に答える
0

java.io.FileNotFoundExceptionでも同様の問題が発生しました。FileNotFoundExceptionの原因となったワークスペースではなく、電子メールからプロジェクトをダウンロードし、解凍してデスクトップに保存しました。

正しいパスを取得するために、プロジェクトをインポートしたときに表示されたパスから正確なパスをコピーしました。これで問題は解決しました。

于 2012-05-30T16:01:01.493 に答える
0

try catch ブロックを追加する必要があります。

public static void main(String...args){
     String fileName = "C:/Users/DY.Liu/Desktop/Krs_Grafo/Graph.txt";
    try{
        FileReader file = new FileReader(fileName);
        BufferedReader inputStream = new BufferedReader(file);
        System.out.println(inputStream.readLine());
    } catch (FileNotFoundException e){
        e.printStackTrace();

    } catch (IOException e){

    }
}
于 2011-07-01T15:35:47.617 に答える
0
  1. JB Nizet がコメントで指摘しているように、エラー メッセージは、プログラムが「Graph」ファイル (パスではなく、拡張子なし) を開こうとしたことを示しています。これは、表示されているコードと互換性がありません。そのエラー メッセージは、そのコードを実行したことによるものであると確信していますか? あなたはそれをデバッグしようとしましたか(段階的に)?

  2. ウィンドウズ7? C:\wk\おそらく、パーミッションの問題を除外し、パスを短くするために、作業ディレクトリを「適切な」ディレクトリなどに設定することをお勧めします。

  3. バックラッシュに関するいくつかの回答の提案は関係ありません。Windows の Java では、スラッシュがうまく機能します。心配する必要はありません。

于 2011-07-01T14:11:56.770 に答える