创建文件,例外情况在Java
在Java(新版本)和Windows XP(NTFS):创建文件,例外情况在Java
1 - 现有的文件f,Files.createFile(Paths.get(F)): FileAlreadyExistsException
2 - 现有文件f,Files.createDirectory(Paths.get(F)): FileAlreadyExistsException
3 - 现有文件夹FO,Files.createDirectory(Paths.get(FO)): FileAlreadyExistsException
4 - 现有的文件夹fo,Files.createFile(Paths.get(fo)): AccessDeniedException
为什么最后一个与众不同?
链接到this问题,概念的区别是什么?
这对于文件夹或文件“可写”时是否相同?或者一个锁定的文件或文件夹,您无法访问该内容。
我觉得一个文件夹实际上是一个带有内容列表的文件。你可以用vim实际打开它。所以最后,为什么所有的文件系统元素都包含二进制或文本数据。这种双重政策让事情变得复杂。在这方面,我确实喜欢unix文件的哲学。它不会影响文件夹,文件和设备文件(特殊文件)。
而分层文件系统结构实际上是gof4复合模式,我认为我是对的,它也抽象出一个“Filesystemelement”。
为什么Java在这里复杂化?
aha,原因就是存在一个文件夹(不是文件), 所以异常类型不能是FileAlreadyExistsException。
然后,第三种情况也不会是“FileAlreadyExistsException”,因为它是一个文件夹,也 – panny 2013-03-23 04:12:23
您需要写入/创建权限我猜,或者甚至读取该路径的权限。 – 2013-03-22 06:57:11