Advertisement
rajs

Untitled

Nov 18th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3. import java.text.*;
  4. import java.math.*;
  5. import java.util.regex.*;
  6.  
  7. import java.time.LocalTime;
  8. import java.time.format.DateTimeFormatter;
  9.  
  10. public class LogSearcher {
  11. public Collection<String> search(Collection<String> logLines, LocalTime startDate, LocalTime endDate) {
  12. Collection<String> res = new ArrayList<String>();
  13. String[] temp;
  14. DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
  15. for(String logLine : logLines) {
  16. temp = logLine.split("\t");
  17. System.out.println(temp[0]);
  18. try {
  19. LocalTime time = LocalTime.parse(temp[0], formatter);
  20. if((time.isAfter(startDate) && time.isBefore(endDate))) {
  21. res.add(logLine);
  22. } else if(time.equals(startDate)) {
  23. res.add(logLine);
  24. }
  25.  
  26. if(time.isAfter(endDate)) {
  27. break;
  28. }
  29. } catch (Exception e) {
  30. return new ArrayList<String>();
  31. }
  32. }
  33.  
  34. return res;
  35. }
  36. public static void main(String[] args) throws IOException{
  37. Scanner in = new Scanner(System.in);
  38. final String fileName = System.getenv("OUTPUT_PATH");
  39. BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
  40.  
  41. DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
  42.  
  43. LocalTime startDate = LocalTime.parse(in.nextLine(), formatter);
  44. LocalTime endDate = LocalTime.parse(in.nextLine(), formatter);
  45.  
  46. final int numberOfLogLines = Integer.parseInt(in.nextLine());
  47. Collection<String> logLines = new ArrayList<String>();
  48. for (int i = 0; i < numberOfLogLines; i++) {
  49. logLines.add(in.nextLine());
  50. }
  51. in.close();
  52.  
  53. Collection<String> res = new LogSearcher().search(logLines, startDate, endDate);
  54. for (String logLine : res) {
  55. bw.write(logLine);
  56. bw.newLine();
  57. }
  58.  
  59. bw.close();
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement