我正在尝试分析心电图信号。我必须从.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。我该怎么办?
答案 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);
}
}
最后,我建议您AChartEngine或MPAndroidChart