有人可以幫助我閱讀csv文件列表的列表。像java文件列表的閱讀列表
List<List<File>> filesList;
希望通過在每個列表中處理所有的文件內容閱讀,但不能與可用於循環結構川方。謝謝。
更新:我想從每個內部文件列表中同時加載文件。像一次從每個內部列表中讀取第一個文件,比較內容,然後移動到特定列表的第二個文件等等。每個內部列表可以是可變大小的。
有人可以幫助我閱讀csv文件列表的列表。像java文件列表的閱讀列表
List<List<File>> filesList;
希望通過在每個列表中處理所有的文件內容閱讀,但不能與可用於循環結構川方。謝謝。
更新:我想從每個內部文件列表中同時加載文件。像一次從每個內部列表中讀取第一個文件,比較內容,然後移動到特定列表的第二個文件等等。每個內部列表可以是可變大小的。
或者您可以使用Iterator
,這樣
List<ArrayList<File>> filesList = new ArrayList<ArrayList<File>>();
//add objects to filesList here
Iterator<ArrayList<File>> filesListIterator = filesList.iterator();
while(filesListIterator.hasNext())
{
ArrayList<File> files = filesListIterator.next();
Iterator<File> filesIterator = files.iterator();
while(filesIterator.hasNext())
{
File file = filesIterator.next();
//do your own logic here;
}
}
更新
這可能會幫助你比較
while(filesListIterator.hasNext())
{
ArrayList<File> files = filesListIterator.next();
for(int i=0;i<files.size()-1;i++)
{
File firstFile = files.get(i);//get a file
File secondFile = files.get(i+1);//get the next file
compareFiles(firstFile,secondFile);//this is your defined
//method for compare
}
}
相關:http://blog.goyello.com/2013/05/17/express-names-in-code-bad-vs-clean/:D – zapl
@prabhaker想要一次讀取每個列表中的文件,而不是按順序 – user2456557
下面是這個合適的循環:
for (List<File> innerList : filesList)
for (File file : innerList)
// do something for a file
List<List<File>> filesList;
for (List<File> list : filesList) {
for (File file : list) {
// your code here ...
}
}
oups ...已經回答。 – Algiz
@tbodt不要投票競爭的答案。 [這是不好的禮節](http://meta.stackexchange.com/questions/175241/is-it-bad-etiquette-to-downvote-a-competing-answer)。 –
個人而言,我會建議使用谷歌番石榴如果可以的話,這有concat
方法
final List<List<File>> files = Lists.newArrayList();
for (final File file : Iterables.concat(files)) {
//doStuff with file
}
我不同意添加一個外部庫來解決這個簡單的問題。您必須鏈接到您的外部圖書館,並且必須將其保存在您的項目中。這是一個殺死蒼蠅的火箭筒。沒關係,如果番石榴已經是你的項目的一部分,否則...... – Algiz
@tbodt希望每次來讀取每個列表文件,而不是按順序。 – user2456557