1

私は本当に近いと思いますが、LocalNews.txtという名前のファイルを開くことができません。エラーは、指定されたファイルが見つからないことを示しています。

    String y = "LocalNews.txt";
FileInputStream fstream = new FileInputStream(y);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));

ファイルの名前は、NewsというライブラリのLocalNews.txtです。ファイルが開かない理由を知っている人はいますか?

このファイルは、私が取り組んでいるのと同じJavaプロジェクトにあります。

エラー:LocalNews.txt(システムは指定されたファイルを見つけることができません)

プロジェクトの名前はBst、パッケージの名前はsubPackage newsFinderのsrc、テキストファイルが保存されているライブラリの名前はNewsです。

それが探していたことがわかりました

C:\ EclipseIndigoWorkspace1 \ Bst \ bin \ LocalNews.txt

しかし、私はそれを調べてほしい(私は信じている)

C:\ EclipseIndigoWorkspace1 \ Bst \ News \ LocalNews.txt

しかし、上記のURLを文字列にすると、エラーが発生します。

4

4 に答える 4

3
String y = "LocalNews.txt";

代わりに使用

String y = "path from root/LocalNews.txt"; //I mean the complete path of the file
于 2012-04-10T13:28:38.900 に答える
2

あなたのプログラムは別のフォルダを探しているため、ファイルを見つけられない可能性があります。

次のような絶対パスを使用してみてください

String y = "c:\\temp\\LocalNews.txt";
于 2012-04-10T13:28:43.153 に答える
2

「ニュースと呼ばれるライブラリ」とは、クラスパス上にあり、必要なファイルを含む News.jar のような jar ファイルを意味すると思いLocalNews.txtます。この場合、次のように呼び出して InputStream を取得できます。

InputStream is = Thread.currentThread().getContextClassLoader()
    .getResourceAsStream("LocalNews.txt");
于 2012-04-10T13:46:48.947 に答える
0

使用する

    System.out.println(System.getProperty("user.dir") );

現在のディレクトリが何であるかを調べるには。そうすれば、ファイルが現在のディレクトリにあるかどうかが確実にわかります。そうでない場合は、正しいディレクトリを参照するようにパスを指定する必要があります。

また、これを試してください -

     File file = new File (y);
     System.out.println(file.getCanonicalPath());

これにより、ファイルが現在のディレクトリにある場合、システム上のファイルの正確なパスがわかります。そうでない場合は、ファイルが現在のディレクトリにないことがわかります。

于 2012-04-10T13:46:45.420 に答える