从文件中解析这些行的最佳做法是什么?
files txt 50 // first gab are spaces, the second is tabulator
files bmp 9979
files all 2063
score scr 656
index ind 0.0779
index ind 0.0213
我需要获取值(50, 9979
等)才能将它们保存到CSV文件中(但这不是此问题的一部分)。
答案 0 :(得分:5)
您可以按\s+
拆分并访问返回数组的最后一个单元格。
for (String line : lines) {
String[] data = line.split("\\s+");
String lastEntry = data[data.length - 1];
// lastEntry contains what you're looking for
}
答案 1 :(得分:5)
这是你想要的吗?
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
String val = line.split("\\s+")[2];
//do something with val
}
br.close();
答案 2 :(得分:2)
这看起来像典型的平面文件。要读取数字,您应该只在感兴趣的位置移动每行的光标并读取您需要的所有字符。
对于您的情况,您应该从16开始并阅读到行尾。
1234567890123456
files txt 50
files bmp 9979
files all 2063
score scr 656
index ind 0.0779
index ind 0.0213
答案 3 :(得分:2)
使用FileReader
读取每一行,然后用空格分割String
并检索第三个索引。
String value =line.split("\\s+")[2];
答案 4 :(得分:1)
读取行,遍历它们并使用正则表达式来分割行并获取值。就是这样。