4
什麼是最有效的方式(就時間而言)將文本文件讀入數組列表。文件大小爲100 MB至2 GB。該文件包含以下格式的數據:使用java快速高效地讀取tab分隔文件
From TO time
a b 13 decc 2009
b c 13 decc 2009
c d 13 decc 2009
f h 13 decc 2009
f g 13 decc 2009
編輯: 以下是代碼讀取文件
public List<InputDataBean> readInputData() throws Exception{
List<InputDataBean> dataSet = new ArrayList<InputDataBean>();
FileInputStream fstream = null;
BufferedReader br = null;
try{
fstream = new FileInputStream(filePath);
br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
Set<String> users = new TreeSet<String>();
while ((strLine = br.readLine()) != null) {
InputDataBean data = validateRecord(strLine);
if(data==null)
continue;
dataSet.add(data);
users.add(data.getFromName());
users.add(data.getToName());
}
UserKeys.setUsers(users);
}catch (Exception e){
throw e;
}finally{
try {
if(null!=br)
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return dataSet;
}
讀取文件我想存入數組不是數據庫之後。
如果有其他更好的替代方法來讀取文件?從java程序調用腳本並使用腳本讀取數據並將其存儲到java數組中是否好主意?
P.S .:我真的很感激,如果有人可以編輯或改進標籤。
不要忘記嘗試使用像ensureCapacity() – Mikhail
你在做什麼與數據?如果它轉到數據庫,則應該使用數據庫提供的工具(大多數數據庫都可以)。將大約2 GB的數據存儲到堆中(當您讀取文件時)可能並不是一個好主意......通常,如果您必須在java中執行此操作,緩衝讀取器才能正常工作。 – aishwarya
@aishwarya:我已經添加了我的文件閱讀程序。讀取數據後,我想存儲到數組中並對此數據執行一些操作。我們沒有將數據存儲到數據庫中。 – Raje