Witam, jak za pomocą javy przenieść plik z jednego katalogu do drugiego
source.renameTo(target);
source i target są typu File.
dzieki. a jeszcze jedno pytanko - mam w katalogu kilkaset plikow. potrzebuje je przeniesc do innych katalogow (roznych). W jaki sposob najprosciej? chodzi i to zeby zrobic petle i przejsc przez wszystki pliki w moim katalogu, a nie pisac polecenia dla kazdego osobno
A jest jakaś regułą wiążąca nazwę przenoszonego pliku z nazwą docelowego katalogu?
generalnie chodzi mi o to ze mam w katalogu kilkaset plikow.
potrzebuje przejsc petla przez te wszystkie pliki i pobrac ich nazwy a potem ewentualnie je przeniesc.
Jest jakas metoda ktora pobiera nazwy pliku z danego katalogu?
Jeśli chodzi po prostu o przeniesienie katalogu z zawartością to taka funkcja powinna być banalną rekurencyjną funkcją. Zamiast implementować ją samemu lepiej jest wykorzystać jakiś sprawdzony (dobrze przetestowany kod) np z Apache Commons IO.
Z tego co pamietam renameTo moze nie dzialac jesli zrodlo i cel sa na roznych systemach plikow (np. jeden lokalnie a drugi to jakis share). Nie wiem na ile to faktycznie sprawia problemy, wiekszosc projektow w ktorych bralem udzial jednak kopiowala...
Panowie poradziłem sobie ze wszystkim do tej pory.
Ostatnia rzecz jaka musze zrobic:
Mam na dysku kilkanascie katalagow, w kazdym katalogu dziesiatki plikow.
Jak napisac petle ktora przejdzie przez te wszystkie pliki?
Rekurencyjnie, np. tak:
private void foo(File directory)
{
File[] pliki=directory.listFiles();
for(int i=0;i<pliki.length;i++)
{
if(pliki[i].isDirectory())
{
foo(pliki[i]);
}
else
{
//zrób co chcesz z plikiem
}
}
}
</del>
na życzenie:
```java
private void foo(File directory)
{
for(File f: directory.listFiles())
{
if(f.isDirectory())
{
foo(f);
}
else
{
//zrób co chcesz z plikiem
}
}
}
```
Jesli Java 7 to moze czas najwyzszy skorzystac z rzeczy ktore juz sa zbudowane?
http://docs.oracle.com/javase/tutorial/essential/io/walk.html