2017-09-07 3 views
0

ファイル読みながらBufferedReaderのは、私は、AndroidでCSVファイルを読み込むために、次のコードを持っている無限ループに陥っ:アンドロイド - 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) {