将InputStream读入Arraylist

Edo*_*tra 10 java inputstream arraylist

我必须读取一个dict.txt文件,其中包含一行for line并将这些字符串添加到arraylist中.

我试过这个:

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();
}
Run Code Online (Sandbox Code Playgroud)

但有些不对劲......

rds*_*rds 17

你在每个循环中迭代两次

String line;
while ((line=r.readLine()) != null) {
    myDict.add(line);
}
Run Code Online (Sandbox Code Playgroud)


yur*_*rin 10

使用Apache IOUtils:

List<String> lines = IOUtils.readLines(inputStream, "UTF-8");
Run Code Online (Sandbox Code Playgroud)