Gå til innhold

JSP: lesing fra fil... (hjelp!)


Anbefalte innlegg

Aller først: fant ikke noe eget JSP-forum... Hvor skal jeg poste dette dersom dette ikke er riktig forum for JSP-spørsmål?

 

Ok, problem/utfordring: Jeg skal prøve å lese fra en tekstfil via JSP...

 

Prøvde først:

FileReader stromFraFil = new FileReader(database.txt);

 

Dette ga:

java.io.FileNotFoundException: database.txt (No such file or directory)

 

(Tror jeg har) funnet ut at det er et problem med relativ/absolutt adressering (eller...?)

 

Etter mye om og men (og lesing av ting jeg ikke forstod), fant jeg fram til følgende:

ServletContext app = getServletContext();

String path = app.getRealPath("database.txt");

FileReader stromFraFil = new FileReader(path);

 

Men nei:

java.io.FileNotFoundException: /export/a/jsp/resin/doc/database.txt (No such file or directory)

 

Hele feilmeldingen:

 

java.io.FileNotFoundException: /export/a/jsp/resin/doc/database.txt (No

such file or directory)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.<init>(FileInputStream.java:106)

at java.io.FileInputStream.<init>(FileInputStream.java:66)

at java.io.FileReader.<init>(FileReader.java:41)

at __27evitso._temp._arkiv__jsp._jspService(/~vitso/temp/arkiv.jsp:35)

at com.caucho.jsp.JavaPage.service(JavaPage.java:75)

at com.caucho.jsp.Page.subservice(Page.java:486)

at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)

at com.caucho.server.http.Invocation.service(Invocation.java:311)

at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)

at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:218)

at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:160)

at com.caucho.server.TcpConnection.run(TcpConnection.java:137)

at java.lang.Thread.run(Thread.java:534)

 

Hva må jeg gjøre for å få JSP webserveren til å forstå hvilken fil som skal aksesseres?

 

Når jeg har fått aksessert fila, er planen å gjøre noe lignende som dette:

 

FileReader stromFraFil = new FileReader(filnavn);

BufferedReader lesFraBuffer = new BufferedReader(stromFraFil);

linje = lesFraBuffer.readLine();

while (linje != null) {

out.println(linje);

linje = lesFraBuffer.readLine();

}

 

Vil dette kunne fungere?

 

Mine kunnskaper innenfor JSP begrenser seg til det mest elementære (dynamisk generert html, kommunikasjon med mySQL osv...)

Lesing fra fil har jeg ingen problemer med i ren Java, vil jeg møte andre problemer etter at dette er løst, dersom jeg går ut ifra at det kan gjøres på samme måte som i Java?

 

Dersom noen har noen gode løsningsforslag, hadde jeg satt pris på om dere var litt konkrete i svaret, siden jeg er rimelig kunnskapsløs innenfor JSP (som nevnt over)

 

På forhånd takk!

Endret av FunkyMonk
Lenke til kommentar
Videoannonse
Annonse

Er problemet ditt å open sjølve fila?

I vanleg java ville eg og spesifisert den abolutte stien til fila, ikkje berre filnavnet, skulle tru dette var regelen og i jsp.

 

java.io.FileNotFoundException: /export/a/jsp/resin/doc/database.txt (No such file or directory)

 

sikker på at det er den korekte stien?

Endret av femfulle
Lenke til kommentar
Er problemet ditt å open sjølve fila?

I vanleg java ville eg og spesifisert den abolutte stien til fila, ikkje berre filnavnet, skulle tru dette var regelen og i jsp.

 

java.io.FileNotFoundException: /export/a/jsp/resin/doc/database.txt (No such file or directory)

 

sikker på at det er den korekte stien?

Nei, jeg er ikke sikker på at dette blir den riktige stien, men det er bare det at dette fungerer iallefall bra når jeg kjører det fra jps-serveren jeg har lagt inn på min egen maskin...

 

Hva den absolutte evt. blir når jeg legger den på webserveren den skal ligge på, vet jeg ikke... Trodde egentlig det var det metodene jeg brukte fant ut...?

 

Er det noen måte å finne ut den absolutte stien til en adresse på en webserver, eller er det noe jeg "bare må vite"...?

Lenke til kommentar

Så du har testa det ut på eiga maskin, for så flytta den til ei anna maskin og der fungerar det ikkje?

Eg har ikkje erfaring med jsp, men feilmld den spyttar ut vil no sei at den ikkje finn fila.

 

Du må finne ut kva stien er på webserveren.

Har du tilgang på webserveren?

evnt. ssh tilgang?

Du kan kanskje programmere eit program som finn ut stien og.

Lenke til kommentar

Hei, kanskje du kunne prøve dette:

String path = request.getRealPath("") + File.separator + "database.txt";
FileReader stromFraFil = new FileReader(path);

 

Dette fungerer fint om database.txt ligger i roten av context.

f.eks på win-system: c:\tomcat\webapps\hvasomhelst\database.txt

 

btw jsp eller servlet du kjører?

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...