获取错误说文件无法在Java中打开...任何想法为什么会发生这种情况?

时间:2012-04-10 13:26:37

标签: java fileinputstream

我认为我非常接近,但我无法打开一个名为LocalNews.txt的文件。错误说无法找到指定的文件。

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

文件名是LocalNews.txt在库中名为News ....有谁知道文件无法打开的原因?

该文件与我正在处理的Java项目相同。

错误:LocalNews.txt(系统找不到指定的文件)

Project命名为Bst,package是subPackage newsFinder中的src,文本文件存储的库叫做News。

发现它正在寻找

C:\ EclipseIndigoWorkspace1 \的Bst \ BIN \ LocalNews.txt

但我想让它看(我相信)

C:\ EclipseIndigoWorkspace1 \的Bst \新闻\ LocalNews.txt

但如果我将上面的url作为字符串,我会收到错误。

4 个答案:

答案 0 :(得分:3)

String y = "LocalNews.txt";

改为使用

String y = "path from root/LocalNews.txt"; //I mean the complete path of the file

答案 1 :(得分:2)

您的程序可能找不到该文件,因为它正在查找另一个文件夹。

尝试使用像

这样的绝对路径
String y = "c:\\temp\\LocalNews.txt";

答案 2 :(得分:2)

通过“名为News的库”,我假设您的意思是一个类似于News.jar的jar文件,它位于类路径中并包含您需要的LocalNews.txt文件。如果是这种情况,那么您可以通过调用:

来获取它的InputStream
InputStream is = Thread.currentThread().getContextClassLoader()
    .getResourceAsStream("LocalNews.txt");

答案 3 :(得分:0)

使用

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

找出您当前的目录。然后,您将确定您的文件是否在当前目录中。如果不是,则必须指定路径以使其在正确的目录中查找。

另外,试试这个 -

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

如果您的文件位于当前目录中,这将告诉您文件在系统上的确切路径。如果没有,那么您知道您的文件不在当前目录中。