Zdravím,
File.renameTo() nejspíš volá funkci systému pro přejmenování souboru –
a to lze provést jenom v rámci jednoho oddílu. Pokud se soubor
„přesouvá" na jiný oddíl, musí se na něj okopírovat a v původním
umístění smazat. Popisuje to i JavaDoc k File.renameTo(), kde je
explicitně zmíněno přesouvání mezi různými oddíly: „Many aspects of
the behavior of this method are inherently platform-dependent: The
rename operation might not be able to move a file from one filesystem
to another".

Můžete dál používat renameTo() pro případ, kdy jsou obě umístění na
stejném oddílu, ale musíte doplnit fallback pro případ, kdy renameTo()
selže a pak soubor klasicky okopírovat a smazat.
S pozdravem

Filip Jirsák

Dne 2. leden 2009 17:45  <[email protected]> napsal(a):
> Dobrý den
>
> už několikátý den řeším problém s uploadem obrázků na nově instalovaný 
> Tomcat55 na Linux(CentOS5, Java6Sun).
>
> Uživatel vybere na svém disku soubor a odešle formulář.
> Soubor se uloží do /tmp na serveru.
> Aplikace si soubor přesune do své složky 
> <catalinaHome>/webapps/knihovna/images
>
> Problém:
> Soubor se uloží do /tmp, ale aplikace soubor nepřesune. Žádná exception. Jen 
> success = false;
> boolean success =myFile.renameTo(destination);
>
> Myslel jsem špatná práva - zkontrolováno
> Myslel jsem na catalina.policy , ale Tomcat se nespoští s policy restrikcí.
> Aplikace na jiných strojích funguje správně, dokonce jsem připravil stejné 
> prostředí OS i Java i Tomcat na zvláštním stroji - naprosto stejné.
> Knihovny Tomcatu jsou přes linky pospojován do /usr/share/tomcat5, myslel 
> jsem tedy, že by mohl být problém v odkazech, do contextu jsem přidal 
> allowLinking="true".
> Tomcat se spouští jako služba pod uživatelem tomcat.
>
> Rozdíly mezi nefunkční aplikací na vzdáleném stroji a funkční aplikací na 
> testovacím stroji jsou:
> Na vzdáleném stroji je /tmp samostatný oddíl (LVM).
> Funkční aplikaci spouštím na localhostu.
>
> Děkuji za radu, chápu, že tento typ pproblém se přes email těžko řeší. Ale 
> třeba se někdo s něčím podobným už setkal.
> Přeji mnoho radosti s Javou v novém roce
> Tomáš Jurman
>
>



-- 
Filip Jirsák
[email protected]

Odpovedet emailem