我正在使用以下程序从文件中读取数据。当我尝试验证file的存在时,我变得虚假。虽然存在文件
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderExample {
public static void main(String[] args) {
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("H:\\infilename.txt"));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
获得以下错误
java.io.FileNotFoundException: H:\infilename.txtt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at BufferedReaderExample.main(BufferedReaderExample.java:15)
当我尝试读取系统中的文件时,我总是收到错误。我正在使用eclipse。它没有安装在我的系统上。它是一个独立的应用程序。这会导致问题吗?请帮我解决这个问题
答案 0 :(得分:2)
br = new BufferedReader(new FileReader("H:\\infilename.txtt"));
主要是打字错误;你拼写错误的文件的名称。你应该写:
br = new BufferedReader(new FileReader("H:\\infilename.txt"));
答案 1 :(得分:0)
该文件不存在。
请在使用之前确保它确实存在:
{
final File file = new File("H:\\infilename.txt");
if(file.exists() && file.isFile()) {
// ...
} else System.out.println("File not found!");
}
如果需要,请创建它:
{
file.createNewFile();
}
如OP所述,问题是该文件以.txt
作为后缀保存。删除它将解决问题。