【发布时间】:2012-06-10 01:51:16
【问题描述】:
我一直在制作一个小程序,该程序需要读取可能会发生变化并且需要随时调用的高尔夫球场列表。这是代码:
public class Courses {
public String[] courselist;
public void loadCourses() throws IOException{
int count = 0;
int counter = 0;
File f = new File("src//courses//courses.txt");
BufferedReader reader = new BufferedReader(new FileReader(f));
while(count<1){
String s = reader.readLine();
if(s.equalsIgnoreCase("*stop*")){
reader.close();
count = 5;
}else{
courselist[counter] = s;
counter++;
}
s = "";
}
}
}
现在这就是 txt 文件中的内容。
RiverChase
Steward Peninsula
Lake Park
Coyote Ridge
*stop*
现在,当我开始运行程序时,因为我立即调用该方法,它给了我一个抛出异常,这是因为数组。我需要留下来排列,因为我在 JComboBox 中使用它。如果你能帮助或解决问题。很可能我只是做错了,我是菜鸟。只是帮忙。提前致谢。 我知道所有文件阅读器和东西都能正常工作,因为它可以正确打印到系统,我只需要帮助将它重复写入数组。
【问题讨论】:
-
您的基本问题是 Java 中的数组不是动态大小的。以下问题中有很多很好的信息:java dynamic array sizes?
-
您必须先检查 readLine() 的结果是否为 null,然后再对它执行任何其他操作。如果为null,则为EOF:关闭文件。
标签: java arrays loops arraylist while-loop