我在阅读 .dat 文件时遇到问题。目前,我知道如何阅读 .dat/.txt 文件,但这对我来说有点棘手。
所以我有一组这样的数据:
测试数据
Sunday
Scuba Diving Classes
Mr.Jones
N/A
Yes
Sunday
Sailing
Mr. Jackson
N/A
Yes
Sunday
Generation Next
Ms.Steele
N/A
Yes
Monday
Helping Hands
Ms.Wafa
ANX0
No
我需要对这个文件做的是逐条记录文件记录,如果字符串activityname .equals 等于活动名称(例如水肺潜水课程),则设置以C开头的变量以供查看。这是它的编码:
try{
BufferedReader reader = new BufferedReader(new FileReader("test.dat"));
int numberOfLines = readLines();
numberOfLines = numberOfLines / 6;
for(int i=0;i < numberOfLines; i++)
{
String CDay = reader.readLine();
String CActivityName = reader.readLine();
String CSupervisor = reader.readLine();
String CLocation = reader.readLine();
String CPaid = reader.readLine();
String nothing = reader.readLine();
if(CActivityName.equals(activityName))
{
txtDay.setText(CDay);
txtSupervisor.setText(CSupervisor);
txtLocation.setText(CLocation);
//If it Activity is paid, then it is shown as paid via radiobutton
if(CPaid.equals("Yes"))
{
radioYes.setSelected(rootPaneCheckingEnabled);
}
if(CPaid.equals("No"))
{
radioNo.setSelected(rootPaneCheckingEnabled);
}
}
else
{
reader.close();
}
}
}
catch(IOException e)
{
Logger.getLogger(AddActivity.class.getName()).log(Level.SEVERE, null, e);
}
}
我已经使用 numberoflines 变量来遍历文件,但我的逻辑有缺陷,我不知道如何通过这个
方法的现状与错误
目前,该方法只读取第一条记录Scuba Diving Classes,当 if 条件为 false 时,不会遍历整个文件。
帮助!