Thank you, Mike.

The reason not to throw out an exception is for the backward compatibility. Due to that, the constructorof File object with NUL willnever fail.While in NIO, it is defined in the spec to throw out exceptions when invalid NUL character is found.

-Dan


On 02/26/2013 04:33 PM, Mike Duigou wrote:
Hi Dan;

External link to the bug (will hopefully work soon):
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8003992

I would like to better understand why silently removing the garbage null 
characters is the right answer here.

If null is an invalid character for the underlying operating system or 
filesystem then perhaps an error should be signalled.

Mike

On Feb 26 2013, at 16:10 , Dan Xu wrote:

Hi All,

Please help review the fix for JDK-8003992: File and other classes in java.io 
do not handle embedded nulls properly.

Java IO, not like NIO, does not check NUL character in the given file path 
name, which brings confusion to Java users. This fix is going to address this 
issue by removing any NUL character from the given file path. And it also 
cleans and optimizes the path-name normalization logic. Thanks!

Bug: https://jbs.oracle.com/bugs/browse/JDK-8003992
webrev: http://cr.openjdk.java.net/~dxu/8003992/webrev.00/

-Dan

Reply via email to