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)
。还有一个问题:如何检索日期<代码>行分割(?)?期待你的回应。