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,子包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 回答