这个项目的目标是能够看到2006 - 2010年某一年的婴儿名字有多受欢迎。我试图使用缓冲读卡器(我第一次使用一个)来读取文件。根据他们选择的年份,文件可能会发生变化。我需要逐行浏览文件,然后在GUI中显示该名称对该年的排名。
暂时我只是在Java控制台中打印文件的全部内容,以确保它正在读取整个文件。我遇到的问题是它只从第955行打印到1000(文件末尾),跳过文本文档中的前944行。无论我告诉它打开哪个文件,都会发生这种情况。我也不确定如何使用缓冲读取器检查每一行的特定字符串,在本例中为变量“name”。
class ClickListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//Parse Input Fields
String name = inputArea.getText();
String genderSelected = genderList.getSelectedItem().toString();
String yearSelected = yearList.getSelectedItem().toString();
String yearFile = "Babynamesranking"+yearSelected+".txt";
try
{
File inputFile = new File(yearFile);
FileReader fileReader = new FileReader(inputFile);
BufferedReader br = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String line;
while ((line = br.readLine()) != null)
{
stringBuffer.append(line);
stringBuffer.append("\n");
}
fileReader.close();
System.out.println("Contents of File: ");
System.out.println(stringBuffer.toString());
}
catch(IOException exception)
{
exception.printStackTrace();
}
}
}
输入文件示例:
941 Darryl 211 Yamileth 273
942 Jakobe 211 Emmy 272
943 Koen 211 Averi 271
944 Darien 210 Mylee 271
945 Haiden 210 Kylah 270
946 Legend 210 Anabel 269
947 Tyrese 209 Thalia 269
948 Zaid 209 Carina 268
949 Dangelo 208 Esperanza 268
950 Maxx 208 Jamya 268
951 Pierre 208 Kierra 268
952 Camdyn 207 Sydnee 268
953 Chaim 207 Audriana 267
954 Damari 207 Shania 267
955 Sonny 207 Ivana 266
956 Antony 206 Micaela 266
957 Blaise 206 Kinsey 265
958 Cain 206 Azariah 264
959 Pranav 206 Kai 264
960 Roderick 206 Precious 264
961 Yadiel 206 Kimber 263
962 Eliot 205 Mina 263