Java在文件里面读文本

时间:2013-11-16 23:57:30

标签: java file

![在此处输入图像说明] [1]我有一个名为notes.txt的文件,其中包含我想要显示给JPanel的几行文字。

这是我的代码:

private void loadNotes() {
    File file = new File("notes.txt");
    if (file.exists()) {
        try {
            FileInputStream fs = new FileInputStream(file);
            BufferedReader br = new BufferedReader(
                    new InputStreamReader(fs));

            for (int i = 0; i < notes.length; i++) {
                if (br.readLine() != null) {
                    String note = br.readLine();
                    System.out.println(note);
                    notes[i] = new JCheckBox(note, false);
                    panel.add(notes[i]);
                    panel.revalidate();
                    panel.repaint();
                }
            }
            br.close();

        } catch (Exception e1) {
        }
    } else {
        System.out.println("File does not exist");
    }
}
            br.close();

此方法从文件中抓取行并打印出复选框。所以,如果我有4个音符,那么它打印出4个复选框。但是,它没有打印出来的文字?为什么不呢?

http://i.stack.imgur.com/SDtMm.png

1 个答案:

答案 0 :(得分:4)

您在br.readLine()循环中调用了for两次,因此将跳过该文件的每一行。在循环开始时分配note变量

String note;
for (int i = 0; i < notes.length; i++) {
    if ((note = br.readLine()) != null) {
        ...
    }
}