-4

我在互联网上搜索过,并尝试了很多不同的解决方案,但每个解决方案都会导致不同的问题。这是代码:

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();
    }
 }

我很新,但我想做的是让它从文本文件中的一行中读取 dat,然后取决于它是在日期之前还是之后对其进行排序,但我不知道那是不是问题,因为它只是不会写入 jList。

提前致谢

4

1 回答 1

2

您是否尝试将数据保存在listModel? 如果是这样,那么您应该listModel在开始循环之前尝试声明和初始化。然后,在循环内,您只需继续将数据添加到listModel已经创建的数据中。

if (dDate < iDate) {
    sCurrentLine = bufferedReader.readLine();
    DefaultListModel listModel = new DefaultListModel();
    listModel.addElement(sCurrentLine);
}

因为DefaultListModel listModel = new DefaultListModel();您在循环的每个实例中都创建了一个新的 listModel 。

于 2012-10-24T04:39:18.467 回答