Android - BufferedReader在读取CSV文件时陷入无限循环

时间:2017-09-07 20:07:10

标签: android csv android-asynctask bufferedreader

我有以下代码来读取Android中的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内,我想知道这可能是我遇到问题的原因。

1 个答案:

答案 0 :(得分:0)

确保每次循环时分配readLine

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

或者更紧凑:

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