Path myFile = Paths.get("c:").resolve("folderOne").resolve("filename.txt");
输出:这会在程序运行的文件夹中创建folderOne,但不会在c:\中创建。
在驱动器名称后使用斜杠或反斜杠:
final Path path = Paths.get("c:/").resolve("folderOne").resolve("filename.txt");
Files.createDirectories(path.getParent());
请注意,斜杠(c:/
)在Windows上运行正常。反斜杠的作用也很好:Paths.get("c:\\")
。
另请注意,Paths.get()
和Path.resolve()
不会自己创建目录。你可以使用Files.createDirectories()
来完成这项工作。
Paths.get()
解析整个路径如果路径是固定的,你可以直接用Paths.get()
解析它 - 不需要调用.resolve()
:
final Path path = Paths.get("c:/folderOne/filename.txt");
同样,斜杠和反斜杠都适用于Windows。
C:
,没有(后退)斜线创建一个DRIVE_RELATIVE
路径 - 意味着路径从给定驱动器上的当前文件夹开始。来自https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats的引用
C:Projects\apilibrary\apilibrary.sln
来自C:
驱动器当前目录的相对路径。
你可以通过转换为绝对路径来看到这个:
System.out.println(
Paths.get("c:").resolve("folderOne").resolve("filename.txt")
.toAbsolutePath()
);
链接:
根据Java Tutorial,这将是你如何在你的情况下创建一个目录。
Path path = Paths.get("C:\\folderOne");
Files.createDirectories(path);
您需要在课程中导入以下内容:
import java.nio.file.Path;
import java.nio.file.Paths;
然后你可以使用:
Path path = Paths.get("D:\\directoryName"); Files.createDirectories(path);
您还需要使用try-catch块来包围代码,或者您可以添加throws IOException,如下所示:
public static void main(String args[]) throws IOException
{
..
}