将输入流读取到数组列表

2022-09-04 05:36:48

我必须读取一个dict.txt文件,其中包含一个字符串,并将它们添加到数组列表中。

我试过这个:

public ArrayList<String> myDict = new ArrayList<String>();

InputStream is = (getResources().openRawResource(R.raw.dict));
BufferedReader r = new BufferedReader(new InputStreamReader(is));
try {
    while (r.readLine() != null) {
        myDict.add(r.readLine());
    }  
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

但是有些不对劲...


答案 1

在每个循环中迭代两次

String line;
while ((line=r.readLine()) != null) {
    myDict.add(line);
}

答案 2

使用Apache IOUtils:

List<String> lines = IOUtils.readLines(inputStream, "UTF-8");

推荐