Mariusz
P.
Specjalista ds.
informatyki
Temat: Hurtowa zmiana nazw wielu plików
WitamChyba wpadłem w jakąś pułapkę :-) Nazwy plików zapisywane są w ArraysList<String> (zmienna filterFiles). Do zmiany nazwy pliku używam metody renameTo. Zmieniam nazwy wszystkim przefiltrowanym (zdjęcia: jpg, gif, png itp) plikom w danym katalogu. Niestety zmiana nazw w pętli (w/g wpisywanego wzorca - zmienna pattern) bywa różna. Nie zmienia nazw wszystkim plikom (połowa, kilka plików). Nie wiem co się dzieje. Samo listowanie zmiennej wyświetla wszystkie nazwy plików. Rozumiem, że zmienia się zawartość katalogu gdy zaczynają być zmieniane nazwy, ale zawartość zmiennej pozostaje bez zmian - nie jest odświeżana po każdej zmianie nazwy pojedynczego pliku. Może mam złe podejście do tematu?
for (int i = 0, j = 1; i < filterFiles.size(); i++, j++) {
File oldFile = new File(selectedDirectory + File.separator + filterFiles.get(i));
File newFile = new File(selectedDirectory + File.separator + pattern + "-" + j + oldFile.toString().substring(oldFile.toString().lastIndexOf(".")));
boolean Rename = oldFile.renameTo(newFile);
.
.
.
}
Grzegorz Hołdys Programista
Temat: Hurtowa zmiana nazw wielu plików
Mariusz P.:A czy sprawdzasz wartość zmiennej "Rename"? Może JVM nie ma dostępu do niektórych plików, bo są w jakiś sposób chronione przez system?
Mariusz
P.
Specjalista ds.
informatyki
Temat: Hurtowa zmiana nazw wielu plików
Sprawdzam. To jest to w tych kropeczkach. Akurat uprawnienia nie mają tu nic do rzeczy. Dałem sobie nawet wypisywanie w tej pętli zawartości zmiennych oldFile i newFile i wygląda na to, że niektóre pliki są po prostu w jakiś "magiczny" sposób pomijane. Przy pierwszej zmianie nazw połowa plików ma ja zmienianą. Przy kolejnej próbie w/g tego samego wzorca też jakby brana była kolejna połowa, ale wtedy już są błędy zgłaszane poprzez zmienną rename.Mariusz P. edytował(a) ten post dnia 29.12.11 o godzinie 17:04
Grzegorz Hołdys Programista
Temat: Hurtowa zmiana nazw wielu plików
Mariusz P.:Puściłem ten kod na katalogu z przykładowymi plikami i działa poprawnie.
Grzegorz Hołdys Programista
Temat: Hurtowa zmiana nazw wielu plików
Mariusz P.:Dużo masz tych plików?
Mariusz
P.
Specjalista ds.
informatyki
Temat: Hurtowa zmiana nazw wielu plików
Bo czasem się uda zmienić za pierwszym razem nazwy wszystkich plików. Testuję na katalogu zawierającym 14 plików jpg.Mariusz P. edytował(a) ten post dnia 29.12.11 o godzinie 17:08
Grzegorz Hołdys Programista
Temat: Hurtowa zmiana nazw wielu plików
Mariusz P.:A w tych "kropeczkach" nie dodajesz przez przypadek nic do zmiennej 'i'?
Mariusz
P.
Specjalista ds.
informatyki
Temat: Hurtowa zmiana nazw wielu plików
Nie. Zwracałem na to uwagę. Czy nie lepiej zamiast pętli for nie byłoby zastosować przechodzenia po iteratorze?Mariusz P. edytował(a) ten post dnia 29.12.11 o godzinie 17:24
Grzegorz Hołdys Programista
Temat: Hurtowa zmiana nazw wielu plików
Możesz spróbować z iteratorem, ale pętla "for" powinna zupełnie poprawnie tu działać.
Mariusz
P.
Specjalista ds.
informatyki
