2012-04-05 9 views
-1

Hみんな、リストの操作ロジックのヘルプは

私は

ファイルは、(rulesIncr1.serあるいくつかの類似したの.serファイルを検索するコードの部分を持って、リストにそれらをロードしていますが必要rulesIncr2.ser、rulesIncr3.ser ......そして今

)に今私が直面してる問題があり、それぞれ、私は次のロジックに

String defaultfilename = "rulesincr"; 
int i=1; 
       String incrFile; 
       //THE FOLLOWING CODE WILL CHECK FOR ANY NU8MBER OF INCR RULES FILE IN THE LOCATION AND ADD THEM TO A RULE MODEL LIST 
       do 
       { 
        String tempincr = new Integer(i).toString(); 
        incrFile = defaultfilename.concat(tempincr).concat(".ser"); 
        FileInputStream fis= new FileInputStream(filePath.concat(incrFile)); 
        ObjectInputStream inStreamIncr = new ObjectInputStream(fis); 
        myRulesIncr = (List<RuleModel>)inStreamIncr.readObject(); 
        i++; 
       } 

       while(new File(filePath.concat(incrFile)).isFile()); 

を書かれているすべてのファイルをロードすると、すべてのティ私myRulesIncrはリフレッシュされ、最後のファイルだけが最後にロードされます。私はすべての読み込まれたファイルを持っている必要があります。

おかげ

答えて

2

常にmyRulesIncr変数のポイントにリストを上書きしますあなたのループ内の行

myRulesIncr = (List<RuleModel>)inStreamIncr.readObject(); 

を教えてください。あなたはmyRulesIncrにすべてのそれらのRuleModelのインスタンスを追加したい場合は、標準のリストオブジェクトに不慣れ

List<RuleModel> myRulesIncr = new ArrayList<RuleModel>(); 

while{ 
//your while loop without the 
//myRulesIncr = (List<RuleModel>)inStreamIncr.readObject(); line 
myRules.addAll((List<RuleModel>)inStreamIncr.readObject()); 
} 
+0

ありがとうRobin、しかしeclipseは次のヌルポインタへのアクセスを警告しています:変数myRulesIncrはt彼の所在地 – jeyaprakash

+0

あなたは変数を初期化していません。メッセージはこれでかなり明確です – Robin

0

イムのようなものを持っている必要がありますが、問題はここに表示されます。

myRulesIncr = (List<RuleModel>)inStreamIncr.readObject(); 

はあなたが作るように見えますあなたが次のノードにインクリメントする必要があると信じています。myRulesIncr = myRulesIncr.next()

関連する問題