不从bufferedreader

时间:2017-03-23 00:52:24

标签: java swing text-files bufferedreader

这个项目的目标是能够看到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

0 个答案:

没有答案