【发布时间】:2018-12-08 23:36:36
【问题描述】:
我正在学习如何用 Java 读写文件。做了很多例子,但在这个具体案例中我遇到了问题,只是不知道为什么,因为就我而言,与其他例子相比没有任何变化。也许只是一个我看不到的愚蠢错误。显然,名为“naval.txt”的文件是在相应的源上创建并保存的。这是我的代码:
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("naval.txt"));
String line;
while (((line = br.readLine()) != null)) {
Scanner sc = new Scanner(line);
System.out.println(sc.next());
}
} catch (IOException e) {
e.getMessage();
System.out.println("Not possible to read the file");
}
}
它甚至不读它。如果我运行它,它会显示我为“catch(Exception e)”写的消息。 十分感谢。
【问题讨论】:
-
你得到什么异常?在您的异常处理程序中执行
e.printStackTrace()。 -
在您的
while循环中,您可以只使用System.out.println(line);- 您不需要Scanner。但严肃地说,正如 jbx 建议的那样,将e.printStackTrace();添加到您的catch块中,这样您就可以看到实际问题是什么。可能是该文件位于错误的目录中,或者没有读取权限,或类似的情况。 -
您可能在查找文件时遇到问题。注意你的 e.getMessage 方法。你基本上只是调用一个返回字符串消息的方法,但你没有对它做任何事情。确实尝试 e.printStackTrace() 并查看异常情况。您也可以只打印消息异常: System.out.println(e.getMessage());
-
谢谢。读取文件确实有问题。解决了。谢谢大家的回答。
标签: java file bufferedreader