Мое пользовательское представление - это отображение данных из приложения командной строки java. Вот выборочные данные внутри 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
Благодаря
Правильный подход - начать проект Java и попробовать что-то. – JFPicard
Да, настроил java-проект и уже начал работу, ища советы, чтобы начать в правильном направлении, а не переделывать снова из-за ограничений по времени. Я пытаюсь что-то в логической части, а затем обновляю проблему. – zdhim
В принципе вам нужно группировать данные по дате. Прочитайте файл по строкам, разделите каждую строку на 3 поля (дата, время. Событие). Храните 'Map>', который отображает строки даты в список объектов, содержащих имя времени и события. Затем отсортируйте ключи этой карты и перейдите по карте, извлеките и распечатайте события. Кажется, вы хотите группировать события по времени; используйте аналогичную карту. –
9000