Avatar billede mercutio Nybegynder
08. december 2003 - 11:00 Der er 11 kommentarer og
1 løsning

Hvordan får jeg at vide om jeg kan flytte en fil inden jeg gør de

Hejsa. Et lille problem jeg ikke lige kan gennemskue. Jeg skal flytte en xml fil efter den er læst ind i systemet så den ikke bliver læst ind igen. Jeg har det problem at nogle gange kan jeg ikke slette filen fordi den er låst af et andet program... Hvordan tjekker jeg om filen er låst? Jeg har prøvet med at spørge om jeg har skrive rettigheder med
File file = new File("sti og filnavn");
file.canWrite()
men uanset hvad må jeg altid skrive jeg kan bare ikke slette filen.
Hvordan tjekker jeg om jeg kan slette den inden jeg rent faktisk prøver at gøre det?
På forhånd tak Merc.
Avatar billede arne_v Ekspert
08. december 2003 - 11:07 #1
Hvorfor teste først ?

Du kan jo alligevel ikke gardere dig imod at nogen låser den mellem
at du tester og sletter !
Avatar billede _carsten Nybegynder
08. december 2003 - 11:08 #2
Hvad med bare at bruge delete() returnerer sand eller falsk afhængig af om det lykkedes
Avatar billede arne_v Ekspert
08. december 2003 - 11:09 #3
Hvis du vil teste og du bruger Java 1.4.x, så kan du lave:

FileLock lck = new FileOutputStream("filnavn").getChannel().tryLock();
if(lck == null) {
Avatar billede mercutio Nybegynder
08. december 2003 - 11:13 #4
Jeg bruger detsværre kun 1.2.x så den kan jeg ikke bruge.
Hvis jeg tester og den ikke er låst så bliver den ikke låst igen. Det er en ftpserver der skal slippe filen og den tager den ikke igen.
Delete kan jeg ikke bruge da jeg skal vide om jeg kan slette den samt om jeg kan gøre noget andet og kun hvis begge dele er ok skal den slettes men jeg skal ikke gøre den anden ting hvis den ikke skal slettes derfor er jeg nød til at vide det inden jeg prøver.
Avatar billede _carsten Nybegynder
08. december 2003 - 11:22 #5
Hvad så med at omdøbe filen ( renameTo(File dest) ) hvis det lykkedes, så gå videre med næste step ?
Avatar billede arne_v Ekspert
08. december 2003 - 11:23 #6
Kan du ikke bare teste det andet først ?
Avatar billede arne_v Ekspert
08. december 2003 - 11:24 #7
renameTo har ihvertfald en fordel. Den kan rolles back.
Avatar billede _carsten Nybegynder
08. december 2003 - 11:25 #8
Hvis step2 ikke lykkes kan du rulle den tilbage igen
Avatar billede _carsten Nybegynder
08. december 2003 - 11:25 #9
Ha - 47 sec. for sent
Avatar billede mercutio Nybegynder
08. december 2003 - 11:26 #10
det andet jeg skal gøre er at sende en email hvis den går godt så er den svær at rulle tilbage tester lige lidt på det med rename.
Avatar billede mercutio Nybegynder
17. september 2004 - 00:04 #11
kan jeg få et svar?
Avatar billede _carsten Nybegynder
17. september 2004 - 21:43 #12
Her er i hvertfald et.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester