如何在文件中获取某些变量

时间:2016-04-26 01:17:07

标签: java

如果我有一个包含2行的文件,第一行按BookType#BookName#Date拆分,第二行是BookType#BookName #Date,如果设置变量,如何获取第一行的日期?将'date'命名为第一行和第二行的日期。 (这假设第一行和行字段中的日期不同)

if (fields[0].equals("A"))
{
    ur.setBookType(fields[0]);
    ur.setBookName(fields[1]);
    ur.setDate(fields[2]);
}
else if (fields[0].equals("B"))
{
    ur.setBookType(fields[0]);
    ur.setBookName(fields[1]);
    ur.setDate(fields[2]);

该文件的示例是

A#James and the Giant Peach#01-20-2013
B#Harry Potter#02-20-1990

1 个答案:

答案 0 :(得分:1)

你需要获得每行的日期吗?问题不明确,但如果是,你可以使用下面的代码。

int LastNoSignPosition = line.lastIndexOf("#");
String date = line.substring(LastNoSignPosition+1, line.length());

然后循环下一个订单项。

编辑:

int firstNoSign = line.indexOf("#"); //get position of 1st #
int secondNoSign = line.indexOf("#", firstNoSign+1); //get position of 2nd #
int thirdNoSign = line.indexOf("#", secondNoSign+1); //get position of 3rd #

String date = line.substring(thirdNoSign, thirdNoSign+10);

+10假设日期始终采用相同的格式dd-mm-yyyy,即10个字符,如果没有得到第四个数字符号。当日期或#不存在时,添加一个越界的捕获。