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

私はかなり新しいですが、私がやろうとしているのは、テキストファイルの行からデータを読み取らせ、日付の前後にあるかどうかに応じてソートすることですが、それがそうであるかどうかはわかりません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 に答える