fropal Skrevet 12. januar 2004 Del Skrevet 12. januar 2004 (endret) Hei Jeg holder på å lage en Applet som skal lese fra en fil på server. (Filen ligger i samme mappen som mine classfiler). Men når jeg skal lese fra filen jeg har liggende der får jeg et rettighetsproblem: access denied (java.io.FilePermission liste.txt read). Jeg vet at Applets har restriksjoner som blandt annet at en applet ikke kan lese eller skrive filer på brukers filsystem. Mitt spørsmål er om det er en måte å lese fra en fil eller en database fra en applet (Alt skal ligge på en webserver). Her er min kode for å lese fra filen min: try { FileReader filLeser = new FileReader("liste.txt"); BufferedReader leser = new BufferedReader(filLeser); String verdi = leser.readLine(); //Leser første linjen (Highscore, dette er bare overskriften i filen) verdi = leser.readLine(); boolean is_navn = true; int teller = 0; while(verdi!=null) { if(is_navn){ listen[teller] = new ListeElement(verdi); } else{ listen[teller++].setPoeng(verdi); } is_navn = !is_navn; verdi = leser.readLine(); } } catch (Exception e){ testlabel.setText(e.getMessage()); } Endret 12. januar 2004 av fropal Lenke til kommentar
threiran Skrevet 12. januar 2004 Del Skrevet 12. januar 2004 Når du skriver new FileReader("liste.txt") refererer du til en lokal fil. Dermed noe programmet som applet ikke har tilgang til (selv om appletten kjører på samme maskin som webserveren). Dersom du kjører en webserver på maskinen din, som du laster siden fra, kan du jo legge filen på denne serveren sammen med appletten og prøve noe som new FileReader("http://127.0.0.1/liste.txt"). Eventuelt se på URI, og bruk new FileReader(new URI("path til webserver og fil")). CPL Lenke til kommentar
MailMan13 Skrevet 13. januar 2004 Del Skrevet 13. januar 2004 Dersom du kjører en webserver på maskinen din, som du laster siden fra, kan du jo legge filen på denne serveren sammen med appletten og prøve noe som new FileReader("http://127.0.0.1/liste.txt"). Viktig å få med seg at av sikkerhetsmessige grunner vi ikke en applet få tilgang til ressurser utenfor 'sandkassen' sin som inkluderer serveren den ligger på og et lite virituelt miljø inne i nettleseren, skal du åpne en fil på serveren må du bruke url'en til serveren ordrett slik den er skrevet i nettleseren (dvs http://127.0.0.1/fil hjelper ikke hvis nettleseren har åpnet http://localhost). Bruk getCodeBase() for å finne nøyaktig path. Litt usikker på at man får åpnet filer i det heletatt, men det er ihvertfall slik man åpner sockets til serveren. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå