RFR [6883354] File.mkdirs() method doesn't behave well when given /../
Ivan Gerasimov
ivan.gerasimov at oracle.com
Mon Aug 12 16:02:31 UTC 2013
Hello everybody!
Would you please help review a small change to File.mkdirs() method?
The current implementation of the method, when past an argument
"dir1/../dir2" only tries to create dir2.
mkdir -p 'dir1/../dir2' command on Linux creates both dir1 and dir2.
java.nio.file.Files.createDirectories() also creates both dir1 and dir2.
The proposed fix makes File.mkdirs() method to behave in the same way on
all the platforms except for Windows.
The problem with Windows is that it reports 'dir1/..' as existent even
if dir1 does not exist.
Because of that Files.createDirectories() doesn't work this way on
Windows either.
Proposed fix:
- makes File.mkdirs() match the behavior of 'mkdir -p' on Linux, Solaris
and MacOS, and
- doesn't change its behavior on Windows.
http://cr.openjdk.java.net/~igerasim/6883354/0/webrev/
Sincerely yours,
Ivan Gerasimov
More information about the core-libs-dev
mailing list