Witam. Chce skopiować dwa najnowsze pliki z danego katalogu do innego, nowo utworzonego podanego przez użytkownika. Tak wygląda początek kodu:
public class zapisz {
zapisz(){
String val = "",
msg = "Zapisz jako";
val = JOptionPane.showInputDialog(msg, val);
Pattern p = Pattern.compile("\\W");
Matcher m = p.matcher(val);
if (m.matches()){
System.out.println("nieprawidłowa nazwa");
}
else {
File nowy = new File(val);
if(nowy.exists()){
System.out.println("Katalog o wskazanej nazwie już istnieje.");
return;
}
if(nowy.mkdirs()){
return;
}
else{
System.out.println("Nie mogę utworzyć katalogu.");
}}
Do tej pory wszystko działa ok. W następnej części wypisuje zawartość danego katalogu i sortuje według daty ostatniej modyfikacji:
File file = new File("sciezka_do_katalogu");
File pliki[] = file.listFiles();
Arrays.sort(pliki, new FileComparator());
Klasa FileComparator:
class FileComparator implements Comparator<File> {
public int compare(File f1, File f2) {
if (f1.lastModified() > f2.lastModified()) {
return -1;
}
if (f2.lastModified() > f1.lastModified()) {
return 1;
}
return 0;
}}
Poradziłem sobie już z tym.