[
https://issues.apache.org/jira/browse/KARAF-6845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oskar updated KARAF-6845:
-------------------------
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()}}
{{ {}}
{{ 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 used:
src/main/resources/file_without_hash.txt - content irrelevant
src/main/resources/file#with#hash.txt - content irrelevant
_Running the test outside of Karaf do not give any issues._
was:
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 used:
src/main/resources/file_without_hash.txt - content irrelevant
src/main/resources/file#with#hash.txt - content irrelevant
_Running the test outside of Karaf do not give any issues._
> Cannot read resource files with hash sign in the name
> -----------------------------------------------------
>
> Key: KARAF-6845
> URL: https://issues.apache.org/jira/browse/KARAF-6845
> Project: Karaf
> Issue Type: Bug
> Components: karaf
> Affects Versions: 4.1.4, 4.3.0, 4.2.7
> Environment: Karaf 4.1.4, 4.2.7, 4.3.0.RC1 executed with both Java8
> and Java11 on Ubuntu and Suse Linux
> Reporter: Oskar
> Priority: Major
>
> 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 used:
> src/main/resources/file_without_hash.txt - content irrelevant
> src/main/resources/file#with#hash.txt - content irrelevant
>
> _Running the test outside of Karaf do not give any issues._
--
This message was sent by Atlassian Jira
(v8.3.4#803005)