Oskar created KARAF-6845:
----------------------------

             Summary: 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.2.7, 4.1.4, 4.3.0
         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


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)

Reply via email to