你能告诉我解析这样一个文件的最佳方法:
# -----------------------------------------------------------------------
# prices
# -----------------------------------------------------------------------
Au333 237.41
Au375 267.35
Au500 356.47
/# - 其评论
Au333 = 237.41(与key = value一样)。但在我的文件中没有' ='而只是一些空格。 我想要类似Java中的类属性。但是当你有' ='在键和值之间
答案 0 :(得分:0)
您对我的看法是CSV文件的特例。您可以使用openCSV来解析它。
CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), " ");
String [] nextLine;
while ((nextLine = reader.readNext()) != null) {
// nextLine[] is an array of values from the line
System.out.println(nextLine[0] + nextLine[1] + "etc...");
}
}
答案 1 :(得分:0)
读取每一行并创建一个方法来提取两个数据点。
之类的东西public static void parseLine(String line)
{
StrArr.add(line.substring(0,5));
line = line.substring(5,line.length);
IntArr.add(Integer.parseInt(line));
}
答案 2 :(得分:0)
这是完成任务的一种方法:
String keyAndValue = "Au333 237.41";
String[] keyAndValueArray = keyAndValue.split(" ");
String key = keyAndValue.split(" ")[0];
String value = keyAndValue.split(" ")[keyAndValueArray.length - 1];
希望它有所帮助!
答案 3 :(得分:0)
Whitespace是Java x86_64 align stack and recover without saving registers文件中的关键终结符,所以你应该有所作为。
# -----------------------------------------------------------------------
# prices
# -----------------------------------------------------------------------
Au333 237.41
Au375 267.35
Au500 356.47
Properties prop = new Properties();
try {
InputStream in = new FileInputStream("resources/data.properties");
prop.load(in);
in.close();
System.out.println(prop.getProperty("Au333"));
System.out.println(prop.getProperty("Au375"));
System.out.println(prop.getProperty("Au500"));
}
catch(Exception e) {
e.printStackTrace();
}
注意:不要吞下这样的例外。这只是为了测试。