RFR: 8358688: HttpClient: Simplify file streaming in RequestPublishers.FilePublisher [v3]
Volkan Yazici
vyazici at openjdk.org
Fri Jun 6 11:15:58 UTC 2025
On Fri, 6 Jun 2025 08:21:31 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>>> I believe the old code was not always throwing `FileNotFoundException` - but might have thrown `NoSuchFileException` if using a non-default filesystem.
>>
>> @dfuch, correct. If `Path` is associated with a file system that doesn't support `Path::toFile`<sup>1</sup>, earlier users would get `Files::newIS` exceptions (which were indeed undocumented), whereas others would get `FIS::new` exceptions.
>>
>> <sup>1</sup> Allow me to note that I intentionally avoid using "default file system" term, since, IMHO, that distracts us from the problem: file systems that don't support `Path::toFile`. The "default file system" is required to support that feature, but there can be other file systems that support that too.
>
> OK
> The "default file system" is required to support that feature, but there can be other file systems that support that too.
I need to amend this statement: Per [`Path::toFile` specification]( https://docs.oracle.com/en/java/javase/24/docs/api/java.base/java/nio/file/Path.html#toFile()), except the default one obtained by `FileSystems::getDefault`, `FileSystem` implementations are expected to throw `UnsupportedOperationException` on `Path::toFile`. Note that this is enforced by the specification; there is technically nothing blocking a custom `FileSystem` implementation from returning a `File` (i.e., not throwing `UOE`) from `Path::toFile`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25662#discussion_r2132007324
More information about the net-dev
mailing list