我在互联网上搜索过,并尝试了很多不同的解决方案,但每一个都导致了一个不同的问题。这是代码:
String path = "path usually goes here";
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (;this.filen < listOfFiles.length; filen++) {
File lof = new File("path and stuff/Assignment" + filen + ".txt");
try {
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(
new FileInputStream(lof)));
String sCurrentLine;
while ((sCurrentLine = bufferedReader.readLine()) != null) {
int dDate = Integer.parseInt(sCurrentLine);
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date date = new Date();
int iDate = Integer.parseInt(dateFormat.format(date));
if (dDate < iDate) {
sCurrentLine = bufferedReader.readLine();
DefaultListModel listModel = new DefaultListModel();
listModel.addElement(sCurrentLine);
}
else {
sCurrentLine = bufferedReader.readLine();
}
bufferedReader.close();
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
我很新,但我要做的是让它从文本文件中的一行读取数据,然后根据它是否在日期排序之前或之后排序,但我不知道如果这是问题,因为它只是不会写入jList。
提前致谢
答案 0 :(得分:2)
您是否尝试在listModel
保存数据?如果是这样,那么您应该在开始循环之前尝试声明并初始化listModel
。然后,在循环内部,您只需将数据添加到已创建的listModel
。
if (dDate < iDate) {
sCurrentLine = bufferedReader.readLine();
DefaultListModel listModel = new DefaultListModel();
listModel.addElement(sCurrentLine);
}
由于DefaultListModel listModel = new DefaultListModel();
,您在循环的每个实例中都创建了一个新的listModel。