On Thu, 8 Jan 2026 19:39:54 GMT, Johannes Döbler <[email protected]> wrote:

>> - Replace `Files.newInputStream(path)` in chain method calls with either 
>> `new ByteArrayInputStream(Files.readAllBytes(path))` or `path.toFile()` if 
>> there is an alternative method taking a `File` instance instead of an 
>> `InputStream` and if appropriate.
>>  - Add missing try-with-resources for `Class.getResourceAsStream()` calls.
>
> src/jdk.jpackage/share/classes/jdk/jpackage/internal/AppImageFile.java line 
> 167:
> 
>> 165:         try {
>> 166:             final Document doc = XmlUtils.initDocumentBuilder().parse(
>> 167:                     new 
>> ByteArrayInputStream(Files.readAllBytes(appImageFilePath)));
> 
> would `.parse(appImageFilePath.toFile())` also work?

Yes, but `DocumentBuilder#parse(java.io.File)` will throw `SAXException` if the 
file doesn't exist, while `Files#readAllBytes(Path)` throws `IOException`. This 
change will break the corresponding unit test. I already tried it.

I switched to using `DocumentBuilder#parse(java.io.File)` in the test code 
because it doesn't matter what exceptions it throws.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/29007#discussion_r2673749253

Reply via email to