Java 7 introduced java.nio.file.Path as a possible replacement for java.io.File.
With File, when I access a file under a specific, I would do:
File parent = new File("c:\tmp"); File child = new File(parent, "child"); // this accesses c:tmpchild
What’s the way to do this with Path?
I supposed this will work:
Path parent = Paths.get("c:\tmp"); Path child = Paths.get(parent.toString(), "child");
But calling parent.toString()
seems ugly. Is there a better way?
Advertisement
Answer
Use the resolve
method on Path
.
There are two methods with this name. One takes a relative Path
and the other a String
. It uses the Path
on which it is called as a parent and appends the String
or relative Path
appropriately.
Path parent = Paths.get("c:\tmp"); Path child = parent.resolve("child");