Android 如何从文件中检索指定的数据?

Android 如何从文件中检索指定的数据?,android,java-io,Android,Java Io,我正在将此数据存储在.dat文件中: data = date + ": " + y + "L/100KM "+ " " + value1 + "dt "+ value2 + "KM\n"; 每行都有不同的日期、y、值1和值2。 我想检索每行的变量value1。如何浏览文件并提取所有行的此变量。我在项目中遇到了这个问题。谢谢你的帮助。 编辑:示例: 我在文件中存储了这3个数据: 11/09: 5.8L/100KM 20dt 250KM 12/09: 6.4L/100KM 60dt 600KM 1

我正在将此数据存储在
.dat
文件中:

data = date + ": " + y + "L/100KM "+ " " + value1 + "dt "+ value2 + "KM\n";
每行都有不同的日期、y、值1和值2。 我想检索每行的变量value1。如何浏览文件并提取所有行的此变量。我在项目中遇到了这个问题。谢谢你的帮助。 编辑:示例: 我在文件中存储了这3个数据:

11/09: 5.8L/100KM 20dt 250KM
12/09: 6.4L/100KM 60dt 600KM
13/09: 7.5L/100KM 50dt 543KM

在这种情况下,我想检索20dt、60dt和50dt。

这里有一个使用正则表达式的建议:

String line = "12/09: 6.4L/100KM 60dt 600KM";

Pattern p = Pattern.compile("(\\d+)dt");
Matcher m = p.matcher(line);

if (m.find())
    System.out.println(m.group(1));   // prints 60

如果您有几行要迭代,您可以使用一个新的BufferedReader(newfilereader(“youfile.dat”))并执行如下操作

String line;
while ((line = br.nextLine()) != null) {
    Matcher m = p.matcher(line);
    if (m.find())
        process(m.group(1));
}

您也可以只使用
line.split(“”)
并选择3:rd元素:

String line = "12/09: 6.4L/100KM 60dt 600KM";
String dtVal = line.split(" ")[2];

// Optional: Remove the "dt" part.
dtVal = dtVal.substring(0, dtVal.length() - 2);

System.out.println(dtVal);

@请看我编辑的帖子。我的解决方案应该很好。好的,结果将被“分组”。如果我想将所有检索到的值存储在
String[]
中,我该怎么办:
String[]verlabels=newstring[]{}
创建一个
ArrayList列表
,并在每次迭代中执行
list.add(dtVal)
。还有一个问题:如何检索日期<代码>行分割(?)?期待你的回应。