Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
framework-6.0.3
-
None
Description
Trying to access a resource via class.getResourceAsStream() fails with NPE if the file name contains hash (#).
Example bundle code to verify the fault:
@Component(immediate = true)
public class ResourceReader
{
private static final Logger LOG = LogManager.getLogger();
@Activate
public void activate()
private void logFileContent(String resourceFileName)}}
{
InputStream stream = ResourceReader.class.getResourceAsStream("/" + resourceFileName);
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(stream)))
catch (Exception e)
{ LOG.error("FAILURE: Could not read " + resourceFileName); } }
}
Resource files located in bundle root:
/file_without_hash.txt - content irrelevant
/file#with#hash.txt - content irrelevant
Problem is seen in Karaf using Felix framework. Switching to Equinox made the problem disappear.
Attachments
Issue Links
- relates to
-
KARAF-6845 Cannot read resource files with hash sign in the name with Felix Framework
- Resolved