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

时间:2011-09-11 13:38:58

标签: android java-io

我将这些数据存储在.dat文件中:

data = date + ": " + y + "L/100KM "+ " " + value1 + "dt "+ value2 + "KM\n";

每一行都有不同的date,y,value1和value2值。 我想检索每一行的变量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。

1 个答案:

答案 0 :(得分:2)

以下是使用正则表达式的一个建议:

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

如果您有多行要迭代,您可以使用例如new BufferedReader(new FileReader("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);