LarsM Skrevet 25. april 2006 Del Skrevet 25. april 2006 Hei. Jeg holder på med et webprosjekt, og i den forbindelse skulle jeg gjerne lest fra en Properties-fil inne fra en klassen. Det er Tomcat som brukes, og derfor ligger klassen min i webapps/ROOT/WEB-INF/classes/. For å lese fra Properties-filen gjør jeg følgende: File f = new File("webapps/ROOT/dings.properties"); FileInputStream fis = new FileInputStream(f); Properties p = new Properties(); p.load(fis); Dette fungerer utmerket dersom jeg gjør det fra en JSP i webapps/ROOT, men dersom jeg prøver å gjøre det samme i en av klassene, får jeg feilmeldinger. Jeg skal prøve få tak i stack trace. Jeg har den ikke lenger siden jeg prøvde å finne alternative løsninger, men problemet oppstod på nytt i en annen sammenheng. Det var i det minste noe sånt: java.util.Properties.load(Unknown Source) Jeg tror det fanger essensen. -- Lars M. Lenke til kommentar
HV Skrevet 25. april 2006 Del Skrevet 25. april 2006 Hei. Jeg holder på med et webprosjekt, og i den forbindelse skulle jeg gjerne lest fra en Properties-fil inne fra en klassen. Det er Tomcat som brukes, og derfor ligger klassen min i webapps/ROOT/WEB-INF/classes/. For å lese fra Properties-filen gjør jeg følgende: File f = new File("webapps/ROOT/dings.properties"); FileInputStream fis = new FileInputStream(f); Properties p = new Properties(); p.load(fis); Dette fungerer utmerket dersom jeg gjør det fra en JSP i webapps/ROOT, men dersom jeg prøver å gjøre det samme i en av klassene, får jeg feilmeldinger. Jeg skal prøve få tak i stack trace. Jeg har den ikke lenger siden jeg prøvde å finne alternative løsninger, men problemet oppstod på nytt i en annen sammenheng. Det var i det minste noe sånt: java.util.Properties.load(Unknown Source) Jeg tror det fanger essensen. -- Lars M. 5985785[/snapback] Hei Hadde vært fint å se hele stack tracen på denne, eller var dette hele meldingen? Kan det hende at det ligger en nullpointer litt lenger ned? Er det mulig at klassene ikke klarer å tolke pathen, men som tomcat systemet forstår og tolker for jspèn? Gjerne post hvilken kode linje det skjærer seg på? Vennlig hilsen HV Lenke til kommentar
LarsM Skrevet 25. april 2006 Forfatter Del Skrevet 25. april 2006 (endret) Hei Hadde vært fint å se hele stack tracen på denne, eller var dette hele meldingen? Kan det hende at det ligger en nullpointer litt lenger ned? Er det mulig at klassene ikke klarer å tolke pathen, men som tomcat systemet forstår og tolker for jspèn? Gjerne post hvilken kode linje det skjærer seg på? 5986790[/snapback] Hei, Jeg kan spesifisere hvordan ting er, så gir stack trace-en litt mer mening. Klassen User tilhører pakken team10.mail og ligger derfor i webapps/ROOT/WEB-INF/classes/team10/mail/. JSP-en ligger i webapps/ROOT/larsm/, og filen jeg prøver å lese fra ligger i webapps/ROOT/larsm/users/. Her er stack trace: java.io.IOException: Read error java.io.FileInputStream.readBytes(Native Method) java.io.FileInputStream.read(Unknown Source) java.util.Properties$LineReader.readLine(Unknown Source) java.util.Properties.load(Unknown Source) team10.mail.User.loadUserFile(User.java:75) org.apache.jsp.larsm.main_jsp._jspService(org.apache.jsp.larsm.main_jsp:158) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) Her er linjen feilen blir rapportert på: public boolean loadUserFile() throws IOException { try { fISUser = new FileInputStream(fUser); fISUser.close(); pUser.load(fISUser); } catch (FileNotFoundException e) { return false; } return true; } fUser er da et objekt av typen File. Konstruktøren til et objekt av FileInputStream kaster FileNotFoundException dersom filen ikke finnes, og det er ikke den typen Exception som forekommer og heller ikke på den linjen, så det skulle være naturlig å tro at klassen finner filen. Edit: Det kan være noe i det at filbanen tolkes annerledes i klassen enn i JSP-en, men da er spørsmålet hvordan jeg klarer å få klassen til å lese. Edit, 2: Jeg fikk løst det slik: public boolean loadUserFile() throws IOException { try { iSUser = new BufferedInputStream(new FileInputStream(fUser)); pUser.load(iSUser); iSUser.close(); } catch (Exception e) { return false; } return true; } Jeg mistenker dog at noe av grunnen til feilen var noe annen kode i tillegg som jeg hadde skrevet feil siden jeg var litt trøtt. Det spiller ingen rolle nå lenger. -- Lars M. Endret 26. april 2006 av LarsM Lenke til kommentar
HV Skrevet 26. april 2006 Del Skrevet 26. april 2006 Var vist ikke så mye som skulle til. Bra jobbet. Vennlig hilsen HV 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å