Oskar created FELIX-6326:
----------------------------
Summary: Cannot read bundled resources with hash in the filename
Key: FELIX-6326
URL: https://issues.apache.org/jira/browse/FELIX-6326
Project: Felix
Issue Type: Bug
Components: Framework
Reporter: Oskar
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()
{ String fileNameWithoutHashes = "file_without_hash.txt";
logFileContent(fileNameWithoutHashes);String fileNameWithHashes =
"file#with#hash.txt"; logFileContent(fileNameWithHashes); }
private void logFileContent(String resourceFileName)}}
{
InputStream stream = ResourceReader.class.getResourceAsStream("/" +
resourceFileName);
try (BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(stream)))
{ LOG.info(bufferedReader.readLine()); }
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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)