Prev: PrintServiceLookup in Tomcat 4.0.3 / Centos 5.3
Next: Broadcasting in Java but NOT MulticastSocket
From: Magnus Warker on 25 Jun 2010 13:56 Hallo, wie kann man denn auf eine Ressource (File) zugreifen, das im obersten Package liegt bzw. in einem Package ohne Klassen? Ich habe versucht, von einer existierenden Klasse nach oben zu wandern ("../"), aber das klappt nicht: Class c = getClass(); ClassLoader l = c.getClassLoader (); InputStream s = c.getResourceAsStream ("../test.cfg"); Magnus
From: John B. Matthews on 25 Jun 2010 14:37 In article <i02ql3$b8f$1(a)news.m-online.net>, Magnus Warker <magnux(a)mailinator.com> wrote: > wie kann man denn auf eine Ressource (File) zugreifen, das im > obersten Package liegt bzw. in einem Package ohne Klassen? > > Ich habe versucht, von einer existierenden Klasse nach oben zu > wandern ("../"), aber das klappt nicht: [Google translation] > how can you access a resource (file), the highest in the > Package is in a package or without classes? > > I have tried from an existing class to move upwards > ("../"), But that does not work: [Google translation] > Class c = getClass(); > ClassLoader l = c.getClassLoader (); > InputStream s = c.getResourceAsStream ("../test.cfg"); Try c.getResourceAsStream() or c.getResource() [1]; these methods use "/" to signify the top level. For example, GoogleOlympiad [2] has a single class in the default package, so the "/" is optional. In contrast, RobotChase [3] uses a conventional package hierarchy, so the "/" is required. [1]<http://java.sun.com/javase/6/docs/api/java/lang/Class.html> [2]<http://sites.google.com/site/drjohnbmatthews/googleolympiad> [3]<http://robotchase.svn.sourceforge.net/viewvc/robotchase/trunk/src/org /gcs/robot/RCImage.java?revision=64&view=markup> -- John B. Matthews trashgod at gmail dot com <http://sites.google.com/site/drjohnbmatthews>
From: Magnus Warker on 25 Jun 2010 22:45 Thank you, this worked! Magnus John B. Matthews wrote: > Try c.getResourceAsStream() or c.getResource() [1]; these methods use > "/" to signify the top level. For example, GoogleOlympiad [2] has a > single class in the default package, so the "/" is optional. In > contrast, RobotChase [3] uses a conventional package hierarchy, so the > "/" is required.
From: Mike Amling on 26 Jun 2010 17:53 Magnus Warker wrote: > Hallo, > > wie kann man denn auf eine Ressource (File) zugreifen, das im obersten > Package liegt bzw. in einem Package ohne Klassen? > > Ich habe versucht, von einer existierenden Klasse nach oben zu wandern > ("../"), aber das klappt nicht: > > Class c = getClass(); > InputStream s = c.getResourceAsStream ("../test.cfg"); Erst bin ich kein Expert. getResourceAsStream ist mir fremd. Sie haben, zum Beispiel, Class com.xyz.pkg.MeinClass, und Sie suchen com/xyz/test.cfg vom $CLASSPATH, nicht? javadoc sagt "If the name begins with a '/' ('\u002f'), then the absolute name of the resource is the portion of the name following the '/'." Deshalb schlage ich InputStream s = c.getResourceAsStream("/com/xyz/test.cfg"); vor. --Michael "Meik" Amling
|
Pages: 1 Prev: PrintServiceLookup in Tomcat 4.0.3 / Centos 5.3 Next: Broadcasting in Java but NOT MulticastSocket |