Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re[2]: [platform-core-dev] Getting the input stream for a resource - can't be that difficult!

The getResource*** calls are rather nice because they are portable
between environments.

Kind regards,

     Peter Kriens

TW> Peter's suggestion will only work if you have "." on the
TW> Bundle-ClassPath.  You can also try:

TW>   Bundle b = Platform.getBundle(PLUGIN_NAME);
TW>   URL url = Platform.find(b, new Path(path));
TW>   InputStream is = null;
TW>   if (url != null)
TW>     is = url.openStream();

TW> Did the url from Platform#find not work unless you resolved
TW> it?  Questions like this should be posted to the news groups.

TW> Tom.


 >> Try:
 >> 
 >>     InputStream in =
 >> getClass().getResourceAsStream("/data/myData.txt");
 >> 
 >> That should work for any OSGi platform.
 >> 
 >> Kind regards,
 >> 
 >>      Peter Kriens
 >>     
 >> PN> Hello folks,
 >>  
 >> PN> I need to read the content of a (text) file which is part of my plug-in.
 >> PN> I found a way to do this, but I feel I did it in a rather awkward
 >> PN> manner. Look at what I wrote:
 >>  
 >> PN> =====snip======= 
 >> PN>         String path = "/data/myData.txt" ;
 >> PN>         Bundle b = Platform.getBundle(PLUGIN_NAME);
 >> PN>         URL url = Platform.find(b, new Path(path));
 >> PN>         URL localUrl = null ;
 >> PN>         InputStream is = null ;
 >> PN>         InputStreamReader isr = null ;
 >> PN>         try {
 >> PN>                          localUrl = Platform.resolve(url);
 >> PN>                          is = localUrl.openStream();
 >> PN>                          isr = new InputStreamReader(is);
 >> PN>                 } catch (IOException e) {
 >> PN>                         // TODO Auto-generated catch block
 >> PN>                         e.printStackTrace();
 >> PN>                 }
 >> PN> =====snap=======
 >> 
 >> PN> The key seems to be to get an IFile for my URL, then the IFile will give
 >> PN> me the InputStream. But I could not figure out how to do this, hence the
 >> PN> hack (?) with Platform.resolve() and the localURL. 
 >> PN> Or is this actually the way it must be done?
 >> 
 >> PN> All hints appreciated.
 >> 
 >> 
 >> PN> Norbert 
 >> PN> _______________________________________________
 >> PN> platform-core-dev mailing list
 >> PN> platform-core-dev@xxxxxxxxxxx
 >> PN> https://dev.eclipse.org/mailman/listinfo/platform-core-dev
 >> 
 >> 
 >> -- 
 >> Peter Kriens                              Mob +33633746480
 >> 9C, Avenue St. Drézéry                    Tel +33467542167
 >> 34160 Beaulieu, France                    Tel +15123514821
 >> AOL,Yahoo pkriens                         ICQ 255570717
 >> 
 >> _______________________________________________
 >> platform-core-dev mailing list
 >> platform-core-dev@xxxxxxxxxxx
 >> https://dev.eclipse.org/mailman/listinfo/platform-core-dev
  


-- 
Peter Kriens                              Mob +33633746480
9C, Avenue St. Drézéry                    Tel +33467542167
34160 Beaulieu, France                    Tel +15123514821
AOL,Yahoo pkriens                         ICQ 255570717



Back to the top