2012-07-07 610 views
1

我在这里发布了一个类似的问题:Read from a file containing integers - java但无法得到体面的回复。从文件(Java)中读取时出错

现在我写了这个只读取文件并输出结果的新代码。

每当我尝试从文件读取时,都会收到FileNotFoundException。代码如下:

import java.io.*; 

public class second { 

/** 
* @param args 
* @throws IOException 
*/ 
public static void main(String[] args) throws IOException { 

    File f = new File("C:\\Users\\Haroon\\workspace\\ppp\\temperature.txt"); 
    FileReader file = new FileReader(f); 
    BufferedReader buf = new BufferedReader(file); 

    String s = null; 
    while((s = buf.readLine()) != null){ 
     System.out.println(s); 
    } 
} 

}

这很奇怪,因为该文件是在项目的文件夹中。 任何帮助,将不胜感激。

+0

如果您尝试:“C:/Users/Haroon/workspace/ppp/temperature.txt”是否可以读取它? – 2012-07-07 09:43:43

+1

“这很奇怪,因为该文件在项目的文件夹中” - 当您指定完全限定的文件名时,项目的文件夹不相关。 – 2012-07-07 09:44:23

+0

与正斜杠相同的错误。 @JonSkeet谢谢你。我知道,因为起初我只写了temperature.txt而不是完整的路径。 – stud91 2012-07-07 09:47:06

回答

3

这应该工作。转到文件的位置,复制路径,将其粘贴到代码中,然后跳过斜线。你错过了一些东西。

还要检查文件的名称/扩展名是否正确,你可能会有类似“temperature.txt.txt”的内容。

+0

做了你所说的。同样的问题:( – stud91 2012-07-07 09:52:21

+0

好吧,下一个测试:复制代码在文件资源管理器中粘贴路径,删除额外的斜线,然后回车...... – Ixx 2012-07-07 09:54:55

+0

我建议你先尝试一下简单路径,例如:“c:\\ 1。 txt“ – 2012-07-07 09:57:54

0

我不知道为什么你无法读取文件。它在我的系统上工作得很好。既然你让你在eclipse中进行项目。我会在这里发布解决方法。

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

使用此命令可以在执行时查找当前用户目录。现在直接将该文件放在该用户目录中。现在您可以直接通过名称来读取文件。 对于如:

File f = new File("temperature.txt"); 

也由“LXXX”提到做检查的文件名,并通过使显示文件扩展名的选项在Windows扩展。