我正在尝试使用BufferedReader在JAVA中打开文件,但无法打开该文件。这是我的代码
public static void main(String[] args) {
try
{
BufferedReader reader = new BufferedReader(new FileReader("test.txt"));
String line = null;
while ((reader.readLine()!= null))
{
line = reader.readLine();
System.out.println(line);
}
reader.close();
}
catch(Exception ex)
{
System.out.println("Unable to open file ");
}
}
它转到异常并打印无法打开文件。有什么建议我无法阅读它。
答案 0 :(得分:1)
如果您想要更接近现代,请尝试从Paths
Javadoc获取的Java 7解决方案:
final Path path = FileSystems.getDefault().getPath("test.txt"); // working directory
try (final Reader r = Files.newBufferedReader(path, StandardCharsets.UTF_8)) {
String line = null;
while ((line = r.readLine()) != null) {
System.out.println(line);
}
} // No need for catch; let IOExceptions bubble up.
// No need for finally; try-with-resources auto-closes.
您需要将main
声明为抛出IOException
,但这没关系。无论如何,你没有连贯的方法来处理IOException
。如果触发了异常,只需读取堆栈跟踪。
答案 1 :(得分:0)
我不知道为什么会这样,但问题似乎是我没有输入文件的完整路径,即使文件在同一个文件夹中。理想情况下,如果文件位于同一文件夹中,那么我就不需要输入整个路径名。
答案 2 :(得分:-1)
尝试先检查它是否存在:
File file = new File("test.txt");
if (!file.exists()) {
System.err.println(file.getName() + " not found. Full path: " + file.getAbsolutePath());
/* Handling code, or */
return;
}
BufferedReader reader = new BufferedReader(new FileReader(file));
/* other code... */