2017-09-07 28 views
0

我有下面的代碼讀取Android的CSV文件:Android的 - 的BufferedReader卡在無限循環,而讀CSV文件

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(csvFile), getResources().getString(R.string.charset))); 

List<String> readLines = Collections.synchronizedList(new ArrayList<String>()); 

for (String readLine = br.readLine(); readLine != null ; br.readLine()) { 
    if (readLine.contains("------------")) { 
     break; 
    } else { 
     readLines.add(readLine); 
    } 
} 

br.close(); 

的問題是,我的無限循環中運行。這個循環位於AsyncTask之內,我不知道可能是我的問題的原因。

回答

0

確保每一次循環分配readLine

for (String readLine = br.readLine(); readLine != null ; readLine = br.readLine()) { 

還是有點更加緊湊:

String readLine; 
while ((readLine = br.readLine()) != null) {