If you are already using a well-defined resource naming scheme (inside URLs or otherwise), using Class.getResourceAsStream() offers almost no advantages, IMHO. This method is implemented as a very thin layer of abstraction over ClassLoader.getResourceAsStream(), with the classloader being the classloader that loaded the class in question.
Class.getResourceAsStream() provides a bit of value by supporting package-relative names, but since you already have to name the class in your example I don't think this is a real advantage. Such a class: scheme might be useful in its own right, though: as a scheme for "load this resource using whichever classloader will load this class" type of thing.
|