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

标签 android java-io

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

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

每一行都有不同的日期、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。

最佳答案

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

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 个元素:

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);

关于android - 如何从文件中检索指定的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7378569/

相关文章:

android - WebView 中的 TalkBack 辅助功能

java - 如何检查 OutputStream 是否已关闭

java - 如何在 Spring 批处理中使用 FlatFileItemWriter 写入标准输出?

java - 如何使用 FileNameFilter 列出目录中的最新文件

javax.crypto.BadPaddingException : unknown block type

java - 如何在 JTextArea 中显示文件名(.txt)?

android - ListView onItemClickListener 不做任何事情

android - 在 ListView 中编辑文本

android - ScrollView 不会回到布局的开头 - Android

android - 9 补丁图像阻止应用程序在 Android 中运行