Java按行读取InputStream,并提取出int。

下面以ExoPlayer的下载流为例,下载一个txt文件,读取它的内容,并将有效的数据提取出来。

DataSourceInputStream inputStream = new DataSourceInputStream(dataSource, dataSpec);
            try {
                inputStream.open();
                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                String str = null;
                int frameIndex = 0;
                while (true) {
                    str = reader.readLine();  //按行读取
                    if(str != null) {
                        String[] strs = str.split(":"); //将字符串按照“:”分割,分离出只有数字的字符串
                        frameBeginRange[frameIndex] = Integer.parseInt(strs[1]);//字符串转为int
                        Log.e(TAG, "frameBeginRange is " + frameBeginRange[frameIndex]);
                        frameIndex ++;
                    }
                    else
                        break;
                }
            } finally {
                Util.closeQuietly(inputStream);
            }

输入:
#frame1: 2344
#frame2: 4343
#frame3: 3434
输出:
2344
4343
3434

你可能感兴趣的:(Java按行读取InputStream,并提取出int。)