Return-Path: Delivered-To: apmail-jakarta-tomcat-user-archive@jakarta.apache.org Received: (qmail 91990 invoked by uid 500); 18 Apr 2001 17:43:48 -0000 Mailing-List: contact tomcat-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk Reply-To: tomcat-user@jakarta.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list tomcat-user@jakarta.apache.org Received: (qmail 91919 invoked from network); 18 Apr 2001 17:43:41 -0000 Received: from gw.eas.san-jose.ca.us (HELO mailhost.eas.san-jose.ca.us) (@199.173.156.1) by h31.sny.collab.net with SMTP; 18 Apr 2001 17:43:41 -0000 Received: from plutus.eas.san-jose.ca.us (plutus.eas.san-jose.ca.us [199.173.156.21]) by mailhost.eas.san-jose.ca.us (Postfix) with ESMTP id C5F0BF52; Wed, 18 Apr 2001 10:43:37 -0700 (PDT) Date: Wed, 18 Apr 2001 10:43:34 -0700 (PDT) From: estutes@eas.san-jose.ca.us Subject: Re: How to read property files? To: mail@filip.net Cc: tomcat-user@jakarta.apache.org, lyndon.samson@ssmb.com In-Reply-To: MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Message-Id: <20010418174337.C5F0BF52@mailhost.eas.san-jose.ca.us> X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N Thanks all that answered. I tried several of the suggestions, and here is what I finally came up with that works for me. I think it is portable enough to use in most any tomcat situation. File pf = new File(request.getRealPath("/myapp.properties")); BufferedInputStream is = new BufferedInputStream(new FileInputStream(pf)); Properties p = new Properties(); try { p.load(is); } catch ( java.io.IOException e ) { out.print("Can't load the properties file"); return; } =eas= On 18 Apr, Filip Hanik wrote: > don't mess around with the system classpath. makes your webapp > non-portable. take advantage of the fact that you are using a war > structure. > > put the property file under WEB-INF/classes/ > > then do this > > java.util.Properties prop = new java.util.Properties(); > prop.load( > Thread.currentThread().getContextClassLoader().getResourceAsStrea > m("mypropertyfile.properties") ); > > that should do the trick, > > you may also want to try > "./mypropertyfile.properties" and "/mypropertyfile.properties" if the > file doesn't get picked up > > Filip > > ~ > Namaste - I bow to the divine in you > ~ > Filip Hanik > Software Architect > filip@filip.net > www.filip.net > >> -----Original Message----- >> From: Samson, Lyndon [IT] [mailto:lyndon.samson@ssmb.com] >> Sent: Wednesday, April 18, 2001 8:30 AM >> To: tomcat-user@jakarta.apache.org >> Subject: RE: How to read property files? >> >> >> Make sure the directory with the properties file in it is part of >> your CLASSPATH. Ie add . if the properties is in the current >> directory. >> >> >> -----Original Message----- >> From: Mark [mailto:mark101@telocity.com] >> Sent: Wednesday, April 18, 2001 4:18 PM >> To: tomcat-user@jakarta.apache.org >> Subject: Re: How to read property files? >> >> >> >> Have you tried doing this from a class inside a .jar file? I >> >> have and it didn't work. >> >> >> > Works fine for me? My jar file had a manifest, a class > >> default package ) >> > and a properties file. I added the jar to the CLASSPATH and >> > executed the class. Voila! >> >> The properties file is not in the jar. Just the class that tries >> to access it. I didn't try it with the properties file inside the >> jar, so it may work. But I don't want to do that. I want >> to make it readily editable. >> >> Mark >> >> ----- Original Message ----- >> From: "Samson, Lyndon [IT]" >> To: >> Sent: Wednesday, April 18, 2001 10:42 AM >> Subject: RE: How to read property files? >> >> >> > Works fine for me? My jar file had a manifest, a class > >> default package ) >> > and a properties file. I added the jar to the CLASSPATH and >> > executed the class. Voila! >> > >> > As the InputStream has no concept of file paths there is no easy >> > way to determine where in the CLASSPATH it was loaded from. >> > CLASSPATH search order is actually undefined allthough it tends to >> > left to right. The only way I >> can think of >> > is to split System.getProperties().getProperty("java.class.path") >> > and >> append >> > the >> > properties file name to every path and then checking if that file >> > is readable. Yuk. >> > >> > >> > -----Original Message----- >> > From: Mark [mailto:mark101@telocity.com] >> > Sent: Wednesday, April 18, 2001 3:08 PM >> > To: tomcat-user@jakarta.apache.org >> > Subject: Re: How to read property files? >> > >> > >> > > >> > > InputStream is = >> > this.getClass().getResourceAsStream("myapp.properties"); >> > > Properties p = new Properties(); >> > > try { >> > > p.load(is); >> > > } catch ( java.io.IOException e ) { >> > > // Can't load props file >> > > } >> > > >> > > That way the properties file can be anywhere in the classpath. >> > > >> > > >> > >> > >> > >> > > -----Original Message----- >> > > From: estutes@eas.san-jose.ca.us >> > > [mailto:estutes@eas.san-jose.ca.us] Sent: Tuesday, April 17, 2001 >> > > 9:27 PM To: tomcat-user@jakarta.apache.org Subject: How to read >> > > property files? >> > > >> > > >> > > I would like to put a myapp.properties file in the top level >> > > directory of my webapp. But I can't figure out what filepath to >> > > give the Properties.load() method in order to load my servlet >> > > property object. Can someone help me? >> > > >> > > Thanks >> > > >> > > =eas= >> > > >> > >> > ~~~~~~~~~~~