sne1Medlem sedan jan. 200363 inlägg Hej SuperDuperWebforum!
Nu är det dags för en fråga igen...
Finns det i java någon (OS-oberoende) metod som kan kontrollera om en viss fil i filsystemet är stängd eller inte?
Mitt problem är att en ftp-server överför en fil via en slö förbindelse till ett temporärt directory på mitt OS. Så fort överföringen är klar (jag förutsätter att det betyder att filen då stängs - kanske är det något annat attribut jag bör kolla?) vill jag omedelbart flytta över filen till ett annat directory. Förflyttningen får absolut inte ske förrän ftp-sessionen har fört över filen helt och hållet.
Visst borde det finnas java-methods - och kanske t.o.m. färdiga kodsnuttar för just detta ändamål?
Lika tacksam för svar som alltid!
Eder,
Pelle
LimeMedlem sedan sep. 2001961 inlägg Tyvärr finns det inte någon sådan funktion i File-klassen.
Det man kan göra är att kolla om man får skriva till filen med canWrite() . Om man kan det så kan man troligtvis flytta på filen då ftp-clienten/servern låser filen för skrivning när den håller på att skriva i den. Skulle ju vara lite jobbigt om två applikationer kunde skriva i samma fil samtidigt...
Man får alltså ligga och polla den filen hela tiden.
Om man gör en egen server är det ju enkelt... När bufferten man skriver till är klar och stängs så flyttar man filen.
/Lime
Hej!
Gjorde en liknande variant förra veckan men det visade sig att canWrite inte riktigt gick att lita på. canWrite kollar nog bara access rättigheter och inte om nån annan process läser/skriver i den.
Nu kör jag lastModified() istället och kollar att filen inte har ändrats inom en safe tidsperiod och flyttar då filen. Funkar klockrent.
mvh
phonk
sne1Medlem sedan jan. 200363 inlägg Hej och tack, både Lime och phonkworks!
LimeMedlem sedan sep. 2001961 inlägg Smart tänkt phonken! Den varianten missade jag.