Java 使用BufferedReader和FileReader读取.txt文件
我使用BufferedReader和FileReader读取一个文件,但每次我读取它时,它只显示找不到名称。提前谢谢Java 使用BufferedReader和FileReader读取.txt文件,java,bufferedreader,Java,Bufferedreader,我使用BufferedReader和FileReader读取一个文件,但每次我读取它时,它只显示找不到名称。提前谢谢 BufferedReader ifile = new BufferedReader (new FileReader ("data.txt")); String N; while(true) { N=ifile.readLine(); if (N == null){ System.out.print("
BufferedReader ifile = new BufferedReader (new FileReader ("data.txt"));
String N;
while(true)
{
N=ifile.readLine();
if (N == null){
System.out.print("\fNo name found\n");
break;
}
number = Integer.parseInt(ifile.readLine());
house = ifile.readLine();
form = ifile.readLine();
dob = ifile.readLine();
System.out.println("Name: " + N + "\nNumber: " + number + "\nHouse: " + house + "\nForm: " + form + "\nDate of Birth: " + dob);
}
ifile.close();
答案可能已经在另一个主题中给出,如: 所以它可能是重复的 但是,当您通过BufferedReader读取文件时,建议您这样做
FileReader filereader = new FileReader("data.txt");
BufferedReader ifile = new BufferedReader(filereader);
String N;
ArrayList<String> file_contents= new ArrayList<String>();
//List will now contain the whole txt
try {
while((N = input.readLine()) != null) {
file_contents.add(N);
}
ifile.close();
}
catch(IOException e){
e.printStackTrace();
}
FileReader FileReader=newfilereader(“data.txt”);
BufferedReader ifile=新的BufferedReader(文件阅读器);
字符串N;
ArrayList文件_contents=新的ArrayList();
//列表现在将包含整个文本
试一试{
而((N=input.readLine())!=null){
文件内容。添加(N);
}
ifile.close();
}
捕获(IOE异常){
e、 printStackTrace();
}
然后打破列表的内容,得到你想要的
使用try/catch块可以避免不知道如何处理无法读取文件“data.txt”的错误
您的方法(while(true))不会在任何变量中传递名称,因此可以将其打印出来,并且只检查data.txt文件的第一行是否为空,如果该条件为真,则不会对其余行执行任何操作
除上述检查外,请检查问题的根源是否在txt文件中。
例如,如果它的结构符合您的要求。您试图读取一个空文件。解决方案:不要这样做。如果您使用的是Java8,那么您可能需要查看
streams
,这是一件好事。看一看,欢迎光临。也接受这个帖子作为最好的答案,这样其他有类似问题的人也能看到它。