2017-09-07 26 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) {