Android用信号读取文本文件,将其放入ArrayList并绘制

时间:2015-11-03 11:31:34

标签: android arraylist plot signals

我正在尝试分析心电图信号。我必须从.txt获取数字 数字按空格分隔。我想将它们存储在ArrayList中。一个ArrayList中将有大约500,000个数字。 ArrayList是一个不错的选择吗?或者我应该考虑SQLite?

-0.165 -0.365 -0.435 -0.425 -0.370 -0.330 -0.325

我应该分别阅读这些数字?

现在我就是这样的:

public static String readTextFile(Context ctx, int resId)
{
    InputStream inputStream = ctx.getResources().openRawResource(resId);
    InputStreamReader inputreader = new InputStreamReader(inputStream);
    BufferedReader bufferedreader = new BufferedReader(inputreader);

    String line;
    StringBuilder stringBuilder = new StringBuilder();
    try
    {
        while ((line = bufferedreader.readLine()) != null)
        {
            stringBuilder.append(line);
            stringBuilder.append('\n');
        }
    }
    catch (IOException e)
    {
        return null;
    }
    return stringBuilder.toString();

我必须改变它。我需要分别读取数字并将它们放到ArrayList中。不是StringBuilder。我该怎么办?

1 个答案:

答案 0 :(得分:0)

There will be about 500 000 numbers in one ArrayList. Is ArrayList a good choice?

如果您打算多次执行此操作,我会使用sqlite。

您可以使用Scanner,它按空格作为默认分隔符:

ArrayList <Integer> array_list = new ArrayList<Integer>();
Scanner sc2 = null;
try {
    $file = new File(resId)
    sc2 = new Scanner(new File(file));
} catch (FileNotFoundException e) {
    e.printStackTrace();  
}
while (sc2.hasNextLine()) {
        Scanner s2 = new Scanner(sc2.nextLine());
    while (s2.hasNext()) {
        String s = s2.next();
        //do whatever you need: ej.System.out.println(s);
        array_list.add(s);
    }
}

最后,我建议您AChartEngineMPAndroidChart