2012-10-24 47 views
-4

我在互聯網上搜索過,並嘗試了很多不同的解決方案,但每個解決方案導致了不同的問題。下面是代碼:將項目添加到jList

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。

在此先感謝

+2

而*問題*在哪裏?不要以爲我們會編譯你的代碼,修復所有問題,並告訴你你做錯了什麼。 – dantuch

+0

而不是代碼轉儲您正在處理的所有內容(文件操作),那麼您需要幫助的代碼部分的簡短片段(JList)如何? – JimN

+1

什麼是問題?你想達到什麼目的?你遇到了什麼錯誤? –

回答

2

您想保存您的數據在listModel?如果是這樣,那麼你應該在開始循環之前嘗試聲明並初始化listModel。然後,在循環中,您只需將數據添加到已創建的listModel

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

因爲DefaultListModel listModel = new DefaultListModel();的你在你的循環的每一個實例創建了一個新的ListModel。

+0

真的很好趕, – mKorbel

+0

經驗是最大的老師..我猜.. :) – jatin3893