RE: How to read property files?

2001-04-21 Thread Wouter Boers

Sorry to tell you that it does work.

I've tried used this on various platforms with various software deployed on
various platforms, like Jserv, Tomcat, WebLogic, Jrun on Win2000, Linux,
Solaris, HP-UX.

So it's fair to say that this contruct does work ;)

Wouter

-Original Message-
From: Mark [mailto:[EMAIL PROTECTED]]
Sent: 18 April 2001 16:08
To: [EMAIL PROTECTED]
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.



Have you tried doing this from a class inside a .jar file?   I have
and it didn't work.


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 17, 2001 9:27 PM
 To: [EMAIL PROTECTED]
 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=





RE: How to read property files?

2001-04-18 Thread Samson, Lyndon [IT]

This works a treat for me

  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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 17, 2001 9:27 PM
To: [EMAIL PROTECTED]
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=



Re: How to read property files?

2001-04-18 Thread Jim Willeke

Thanks, this helps me.
I was wondering though, can you determine where it found the properties 
file at?
Thanks.
-jim

Samson, Lyndon [IT] wrote:

 This works a treat for me
 
   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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 17, 2001 9:27 PM
 To: [EMAIL PROTECTED]
 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=
 
 
 




Re: How to read property files?

2001-04-18 Thread Sam Newman

I suspect getResourceAsStream can only locate property files in your
classpath. You will probably have to search the classpath yourself to do it.
Check the sorucecode for getResourceAsStream (assuming its not in native
code) and see how its done

sam
- Original Message -
From: "Jim Willeke" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, April 18, 2001 2:25 PM
Subject: Re: How to read property files?


 Thanks, this helps me.
 I was wondering though, can you determine where it found the properties
 file at?
 Thanks.
 -jim

 Samson, Lyndon [IT] wrote:

  This works a treat for me
 
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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
  Sent: Tuesday, April 17, 2001 9:27 PM
  To: [EMAIL PROTECTED]
  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=
 
 
 





RE: How to read property files?

2001-04-18 Thread Randy Layman


Instead of getResourceAsStream you can use getResource, which
returns a URL.  You can then break down the URL to determine where it found
the resource (and what protocol it used, i.e. file, jar, http, etc).

Randy

 -Original Message-
 From: Jim Willeke [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, April 18, 2001 9:25 AM
 To: [EMAIL PROTECTED]
 Subject: Re: How to read property files?
 
 
 Thanks, this helps me.
 I was wondering though, can you determine where it found the 
 properties 
 file at?
 Thanks.
 -jim
 
 Samson, Lyndon [IT] wrote:
 
  This works a treat for me
  
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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
  Sent: Tuesday, April 17, 2001 9:27 PM
  To: [EMAIL PROTECTED]
  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=
  
  
  
 



Re: How to read property files?

2001-04-18 Thread Mark


   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.



Have you tried doing this from a class inside a .jar file?   I have
and it didn't work.


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 17, 2001 9:27 PM
 To: [EMAIL PROTECTED]
 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=





Re: How to read property files?

2001-04-18 Thread Sam Newman

You'll want to use getResource when your in a jar file. I've found the
safest way is just to know where the property file will be in relation to
the class loading it, and get the URL resource for the class itself. This
URL will differ for a class in a jar, but its still doable.

sam
- Original Message -
From: "Mark" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, April 18, 2001 3:08 PM
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.
 
 

 Have you tried doing this from a class inside a .jar file?   I have
 and it didn't work.







RE: How to read property files?

2001-04-18 Thread Samson, Lyndon [IT]

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:[EMAIL PROTECTED]]
Sent: Wednesday, April 18, 2001 3:08 PM
To: [EMAIL PROTECTED]
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.



Have you tried doing this from a class inside a .jar file?   I have
and it didn't work.


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, April 17, 2001 9:27 PM
 To: [EMAIL PROTECTED]
 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=




Re: How to read property files?

2001-04-18 Thread Mark

 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]" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
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:[EMAIL PROTECTED]]
 Sent: Wednesday, April 18, 2001 3:08 PM
 To: [EMAIL PROTECTED]
 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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
  Sent: Tuesday, April 17, 2001 9:27 PM
  To: [EMAIL PROTECTED]
  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=
 





RE: How to read property files?

2001-04-18 Thread Samson, Lyndon [IT]

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:[EMAIL PROTECTED]]
Sent: Wednesday, April 18, 2001 4:18 PM
To: [EMAIL PROTECTED]
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]" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
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:[EMAIL PROTECTED]]
 Sent: Wednesday, April 18, 2001 3:08 PM
 To: [EMAIL PROTECTED]
 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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
  Sent: Tuesday, April 17, 2001 9:27 PM
  To: [EMAIL PROTECTED]
  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=
 




RE: How to read property files?

2001-04-18 Thread Filip Hanik

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
[EMAIL PROTECTED]
www.filip.net

 -Original Message-
 From: Samson, Lyndon [IT] [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, April 18, 2001 8:30 AM
 To: [EMAIL PROTECTED]
 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:[EMAIL PROTECTED]]
 Sent: Wednesday, April 18, 2001 4:18 PM
 To: [EMAIL PROTECTED]
 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]" [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 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:[EMAIL PROTECTED]]
  Sent: Wednesday, April 18, 2001 3:08 PM
  To: [EMAIL PROTECTED]
  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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
   Sent: Tuesday, April 17, 2001 9:27 PM
   To: [EMAIL PROTECTED]
   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=
  
 





Re: How to read property files?

2001-04-18 Thread estutes

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
 [EMAIL PROTECTED]
 www.filip.net
 
 -Original Message-
 From: Samson, Lyndon [IT] [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, April 18, 2001 8:30 AM
 To: [EMAIL PROTECTED]
 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:[EMAIL PROTECTED]]
 Sent: Wednesday, April 18, 2001 4:18 PM
 To: [EMAIL PROTECTED]
 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]" [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 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:[EMAIL PROTECTED]]
  Sent: Wednesday, April 18, 2001 3:08 PM
  To: [EMAIL PROTECTED]
  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: [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED]] Sent: Tuesday, April 17, 2001
   9:27 PM To: [EMAIL PROTECTED] 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=
  
 

 
~~~