Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.65 KB | None | 0 0
  1. package java;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.nio.file.Files;
  6. import java.nio.file.Path;
  7. import java.nio.file.attribute.BasicFileAttributes;
  8. import java.nio.file.attribute.FileTime;
  9. import java.text.SimpleDateFormat;
  10. import java.time.Instant;
  11. import java.time.LocalDate;
  12. import java.time.LocalDateTime;
  13. import java.time.LocalTime;
  14. import java.time.ZoneId;
  15. import java.util.*;
  16. import java.util.stream.Collectors;
  17.  
  18. public class Zadanie02 {
  19.     public static void main(String[] args) throws IOException {
  20.         /*
  21.         Zrob zestawienie:
  22.         dzien stworzanie pliku java -> ilosc plikow
  23.  
  24.         A następnie:
  25.         Wypisz wszystkie pliki java ktore NIE zostaly stworzone na zajeciach tzn:
  26.         nie sa w poniedzialek z godzin 18:30-19:30
  27.          */
  28.  
  29.         File workspacePath = new File("/Users/waldiemar/Desktop/JavaPrograms/");
  30.         List<File> allJavaFilesInWorkspace = Files.walk(workspacePath.toPath())
  31.                 .filter(f -> f.toFile().isFile() && f.toFile().getName().endsWith(".java"))
  32.                 .map(Path::toFile)
  33.                 .collect(Collectors.toList());
  34.  
  35.         System.out.println(allJavaFilesInWorkspace);
  36.  
  37.         Map<String, Integer> collection = new HashMap<>();
  38.         SimpleDateFormat sdf = new SimpleDateFormat("EEEE", new Locale("pl", "PL"));
  39.         for (File f : allJavaFilesInWorkspace) {
  40.             BasicFileAttributes attrs = Files.readAttributes(f.toPath(), BasicFileAttributes.class);
  41.             System.out.println(attrs.creationTime() + " " + f.getName());
  42.  
  43.             FileTime date = attrs.creationTime();
  44.             String dayOfWeek = sdf.format(date.toMillis());
  45.  
  46.             Calendar c = Calendar.getInstance();
  47.            
  48.             final LocalDateTime fileCreationDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
  49.  
  50.             final LocalDateTime dateStart = LocalDateTime.of(fileCreationDateTime.toLocalDate(), LocalTime.of(18, 30));
  51.             final LocalDateTime dateEnd = LocalDateTime.of(fileCreationDateTime.toLocalDate(), LocalTime.of(19, 30));
  52.            
  53.  
  54.             boolean notMonday = !sdf.format(date.toMillis()).equalsIgnoreCase("poniedziałek");
  55.             if (notMonday && fileCreationDateTime.isBefore(dateStart) && fileCreationDateTime.isAfter(dateEnd)) {
  56.                 if (!collection.containsKey(dayOfWeek)) {
  57.                     collection.put(dayOfWeek, 1);
  58.                 } else {
  59.                     int count = collection.get(dayOfWeek);
  60.                     collection.put(dayOfWeek, count + 1);
  61.                 }
  62.             }
  63.         }
  64.         System.out.println(collection);
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement