viniciussss viniciussss - 2 months ago 8
Java Question

Is there a reason to get the file name of a path before converting it to a file?

Someone answered one of my questions using

path.getFileName().toFile()
instead of just
path.toFile()
. Is there a reason for that or should I use just
path.toFile()
?

Answer Source

In your specific situation it was path.getFileName().toFile().getName() in this case path.toFile().getName() will give you same result.

But generally speaking path.getFileName().toFile() and path.toFile() will return different files.

Here small example.

    Path path =  FileSystems.getDefault().getPath("foo", "bar", "buzz");
    System.out.println(path.getFileName().toFile());
    System.out.println(path.toFile());

Which give us

buzz
foo\bar\buzz