@Override public void run() { while (true) { if (istWindows()) aktuell = holeLaufwerkeWindows(); else aktuell = holeLaufwerkeUnix(); if (initial.size() != aktuell.size()) { if (!initial.containsAll(aktuell)) { neuesLaufwerk = holePathVonNeuemLaufwerk(initial, aktuell); textArea.append("Neues Laufwerk endeckt: " + neuesLaufwerk + System.lineSeparator()); this.initial = (ArrayList<Path>) aktuell.clone(); neuesLaufwerkDialog(); } else { this.initial = (ArrayList<Path>) aktuell.clone(); textArea.append("Laufwerk wurde entfernt" + System.lineSeparator()); } } try { Thread.sleep(5000); } catch (InterruptedException e) { System.out.println("Laufwerksprüfung wird abgebrochen"); } } }
private Path holePathVonNeuemLaufwerk(ArrayList<Path> initial, ArrayList<Path> aktuell) { ArrayList<Path> test, test1; test = (ArrayList<Path>) aktuell.clone(); test1 = (ArrayList<Path>) initial.clone(); test.removeAll(test1); return test.get(test.size() - 1); }