Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
File f = new File("test.xml") er korrekt når programmet ligger i samme bibliotek som filen, men ikke hvis du eksekverer det fra en andet bibliotek. Du får fat i filen hvis du starter programmet i samme bibliotek, selvom klasse filen ligger andetsteds.
"../test/test.xml" under unix og "..\\test\\test.xml" under windows. Igen kræver det at du starter programmet fra biblioteket util, hvis du kører andetsteds fra, skal det være relativt til dette bibliotek.
Jeg har læst i Javadoc'en, at når jeg laver en new File("test.xml") bliver det eksekveret fra det sted man har sin JVM instl. Det virker ihvertfald ikke !.
Nej, det er fra der hvor du har startet dit program ikke hvor JVM er installeret.Tag følgende test program og læg det hvorsomhelst og compiler det så klassefilen ligger samme sted. Kør så programmet ved at gå til biblioteket hvor test.xml ligger. Det bliver noget som: java -classpath ../../herliggerdet FileTest public class FileTest { public static void main(String[] args ) { File f = new File( "test.xml" ); System.out.println(f.exists()); } }
Men det skal siges at jeg kører det fra et IDE ( netbeans ) så jeg skal ikke kunne sige om -classpath er med ved eksekveringen eller ej. Men det burde i princippet da også være lige meget, når det hele bliver kompileret og kør i samme bib. som test.xml
Classpath'en har ingen betydning for åbningen af test.xml, kun for om den kan eksekvere programmet. Tilføj følgende til test programmet: System.out.println("user.dir"); så skriver den ud hvor programmet køres, og det er helt sikkert et andet sted end du forventer, ellers skulle test.xml kunne findes.
og det gjorde den selvfølgelig : C:\Program Files\NetBeans IDE 3.4 Netbeans sucks....:) Tak for hjælpen.
Synes godt om
Ny brugerNybegynder
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.