我的用例是显示来自java命令行app的数据。以下是input.txt文件中的示例数据,用户将通过命令行输入该文件:
// (booking date , Empid)
2011-03-17 10:17:06 EMP001
// (appointment date, duration)
2011-03-21 09:00 2
2011-03-16 12:34:56 EMP002
2011-03-21 09:00 2
2011-03-16 09:28:23 EMP003
2011-03-22 14:00 2
2011-03-17 11:23:45 EMP004
2011-03-22 16:00 1
2011-03-15 17:29:12 EMP005
2011-03-21 16:00
我的输出应该通过output.txt文件中的约会日期聚合,日间约会为:
2011-03-21
09:00 11:00 EMP002
2011-03-22
14:00 16:00 EMP003
16:00 17:00 EMP004
执行此类功能的正确方法和逻辑是什么。
我正在对两个文件进行写操作:input.txt以正确的格式存储,但是从output.txt我希望输出应该是如上所述的格式。下面是我如何将对象存储在output.txt文件中:
static boolean writeToOutputFile(Booking booking){
boolean flag = true;
try {
FileWriter fout = new FileWriter(outputFile);
fout.write(booking.getMeetingDate());
fout.write(System.getProperty("line.separator"));
fout.write(booking.getStartTime()+" "+booking.getEndTime()+" "+booking.getEmpId());
fout.flush();
fout.close();
}catch (Exception ex){
flag = false;
logger.error(ex.getMessage());
}
return flag;
}
output.txt:
2011-03-21
09:00 11:00 EMP003
2011-03-21
09:00 11:00 EMP001
2011-03-21
12:00 14:00 EMP002
由于
答案 0 :(得分:0)
我会为每个约会创建一个类,然后使用正则表达式解析input.txt文件。然后你可以对约会对象进行排序(例如使用Comparable-Interface,然后使用Collections.sort()对对象进行排序)如果分组很重要,你只能在约会对象中包含时间并使用类型的Map地图>做分组。如果您需要进一步的帮助或其他想法,请发表评论