![Java核心技术·卷Ⅱ:高级特性(原书第10版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/937/34339937/b_34339937.jpg)
2.5.3 创建文件和目录
创建新目录可以调用
![](https://epubservercos.yuewen.com/F21227/18365861501241106/epubprivate/OEBPS/Images/087-i.jpg?sign=1739511021-cWM4KMqsvhZIKrc5EXHZ7pSCSemvSLRY-0-98aec8bf2855f08c7e0b313e88e379cb)
其中,路径中除最后一个部件外,其他部分都必须是已存在的。要创建路径中的中间目录,应该使用
![](https://epubservercos.yuewen.com/F21227/18365861501241106/epubprivate/OEBPS/Images/087-2-i.jpg?sign=1739511021-dM2QuAsUM25dFHS2T3yYjdAYH1CS60Iy-0-cd0c6c1fa44f992c0367fba7833212a9)
可以使用下面的语句创建一个空文件:
![](https://epubservercos.yuewen.com/F21227/18365861501241106/epubprivate/OEBPS/Images/087-4-i.jpg?sign=1739511021-usaBuJ7tqGEu2SyILxsSiKrgtriQs4ea-0-042ecb93686ec0af3dcbb39ee4578364)
如果文件已经存在了,那么这个调用就会抛出异常。检查文件是否存在和创建文件是原子性的,如果文件不存在,该文件就会被创建,并且其他程序在此过程中是无法执行文件创建操作的。
有些便捷方法可以用来在给定位置或者系统指定位置创建临时文件或临时目录:
![](https://epubservercos.yuewen.com/F21227/18365861501241106/epubprivate/OEBPS/Images/087-3-i.jpg?sign=1739511021-7OpJk2YItALIDgF8y8bI5PiDtpHPC6kC-0-ee1d01a53c33cc7316d5d444b222ec6e)
其中,dir是一个Path对象,prefix和suffix是可以为null的字符串。例如,调用Files.createTempFile(null,“.txt”)可能会返回一个像/tmp/1234405522364837194.txt这样的路径。
在创建文件或目录时,可以指定属性,例如文件的拥有者和权限。但是,指定属性的细节取决于文件系统,本书在此不做讨论。
java.nio.file.Files 7
·static Path createFile(Path path,FileAttribute<?>...attrs)
·static Path createDirectory(Path path,FileAttribute<?>...attrs)
·static Path createDirectories(Path path,FileAttribute<?>...attrs)
创建一个文件或目录,createDirectories方法还会创建路径中所有的中间目录。
·static Path createTempFile(String prefix,String suffix,FileAttribute<?>...attrs)
·static Path createTempFile(Path parentDir,String prefix,String suffix,FileAttribute<?>...attrs)
·static Path createTempDirectory(String prefix,FileAttribute<?>...attrs)
·static Path createTempDirectory(Path parentDir,String prefix,FileAttribute<?>...attrs)
在适合临时文件的位置,或者在给定的父目录中,创建一个临时文件或目录。返回所创建的文件或目录的路径。