2017-05-13 11 views
0

これはThinking In Javaの例ですが、実行できません。java.io.FileInputStream、Source not found

package test; 

import java.io.*; 

public class Testa { 
    public static String read(String filename) throws IOException{ 
     BufferedReader in = new BufferedReader(new FileReader(filename)); 
     String s; 
     StringBuilder sb = new StringBuilder(); 
     while((s = in.readLine()) != null){ 
      sb.append(s + "\n"); 
     } 
     in.close(); 
     return sb.toString(); 
    } 

    public static void main(String [] args) throws IOException{ 
     System.out.println(read("Testa.java")); 
    } 
} 

私はデバッグする場合、Eclipseは「ソースが見つかりません」enter image description here

私は新入生だとそれのないアイデアを持っていないことを示しています。私はネットで長い時間を探しています。しかし、使用しないでください。これを達成する方法を教えてください。手伝っていただけませんか?

+0

ようになり、Windows上で、読みたいファイルのフルパスを指定することで、あなたはここで完全なエラーログを投稿してもらえますか? – Anoop

+1

実際に見たい場合は、Oracleでソースをダウンロードしてください。 – Marged

+0

あなたの答えは本当にありがたいです。ありがとうございます! –

答えて

1

これはエラーではありません。Eclipseは、FileReader libaryクラスのソースコードを持っていないことを伝えています。プログラムを実行するためにソースコードは必要ありません。 JREではなくJDKをインストールすると、JDKにライブラリクラスのソースコードが含まれているため、Eclipseはこのライブラリクラスのソースを見つけることができます。

あなたが本当に得ているように見えるのはFileNotFoundExceptionです。これはあなたのファイルが存在しないことを意味します。

ファイルの読み取りに使用するファイルパスは、ちょうど"Testa.java"です。これは、JavaがTesta.javaを見つけるために 'カレントディレクトリ'を検索することを意味します。あなたのプログラムを実行するとき、現在のディレクトリはではありません。あなたのプログラムのソースコードを含んでいるディレクトリではありません。これは動作しません。この問題を解決するために

一つの方法は、これが"C:\\path\\to\\workspace\\project\\src\\Testa.java"

+0

私はあなたなしではできなかった。本当にありがとうございました! –