![在此处输入图像说明] [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个复选框。但是,它没有打印出来的文字?为什么不呢?
答案 0 :(得分:4)
您在br.readLine()
循环中调用了for
两次,因此将跳过该文件的每一行。在循环开始时分配note
变量
String note;
for (int i = 0; i < notes.length; i++) {
if ((note = br.readLine()) != null) {
...
}
}