在Java 7中从String创建路径

时间:2013-06-04 13:43:14

标签: string path nio java-7

如何在Java 7中从String对象创建java.nio.file.Path对象?

String textPath = "c:/dir1/dir2/dir3";
Path path = ?;

其中?是缺少使用textPath的代码。

4 个答案:

答案 0 :(得分:389)

您可以使用Paths类:

Path path = Paths.get(textPath);

...假设你想使用默认的文件系统。

答案 1 :(得分:15)

来自javadocs .. http://docs.oracle.com/javase/tutorial/essential/io/pathOps.html

Path p1 = Paths.get("/tmp/foo"); 

相同
Path p4 = FileSystems.getDefault().getPath("/tmp/foo");

Path p3 = Paths.get(URI.create("file:///Users/joe/FileTest.java"));

Path p5 = Paths.get(System.getProperty("user.home"),"logs", "foo.log"); 

在Windows中,创建文件 C:\ joe \ logs \ foo.log(假设用户主页为C:\ joe)
在Unix中,创建文件 /u/joe/logs/foo.log(假设用户主页为/ u / joe)

答案 2 :(得分:8)

如果可能,我建议直接从路径元素创建Path

Path path = Paths.get("C:", "dir1", "dir2", "dir3");
// if needed
String textPath = path.toString(); // "C:\\dir1\\dir2\\dir3"

答案 3 :(得分:2)

即使是关于Java 7的问题,我也认为从Java 11开始知道,Path类中有一个静态方法可以立即执行以下操作:

所有路径都放在一个String中:

Path.of("/tmp/foo");

路径分为几个字符串:

Path.of("/tmp","foo");