使用 BufferedReader 和 FileReader 读取 .txt 文件
Reading a .txt file using BufferedReader and FileReader
我使用 BufferedReader 和 FileReader 读取文件,但每次读取文件时,它只是显示找不到文件名。提前致谢。
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();
}
然后分解列表的内容以获得你想要的。
使用try/catch块可以避免不知道如何处理无法读取文件"data.txt"的错误。
你的做法 (while(true)) 没有在任何变量中传递名字,所以它可以被打印出来,并且只检查你的 [=32= 的第一行] 文件是否为空,如果该条件为真,则不对剩余行执行任何操作。
除了上述检查你的问题的根源是否在txt文件中。
例如,如果它的结构是你想要的那样。
我使用 BufferedReader 和 FileReader 读取文件,但每次读取文件时,它只是显示找不到文件名。提前致谢。
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();
}
然后分解列表的内容以获得你想要的。
使用try/catch块可以避免不知道如何处理无法读取文件"data.txt"的错误。
你的做法 (while(true)) 没有在任何变量中传递名字,所以它可以被打印出来,并且只检查你的 [=32= 的第一行] 文件是否为空,如果该条件为真,则不对剩余行执行任何操作。
除了上述检查你的问题的根源是否在txt文件中。 例如,如果它的结构是你想要的那样。