【发布时间】:2011-07-01 01:28:54
【问题描述】:
标题可能看起来微不足道,但这并不像听起来那么容易。你不能只检查文件的权限,因为文件可能不存在,你可能有必要的权限来创建它然后写入它。但前提是您对目录具有写入权限,并且可能具有执行权限,并且可能具有所有父目录的权限。或者可能不是。我不确定。
那么,给定一个文件名,为了正确测试我是否可以打开并写入具有该文件名的文件,我需要考虑哪些情况所有?这并不特定于任何一种编程语言。我只想要逻辑。但欢迎使用真实编程语言的示例。
【问题讨论】:
-
您为什么不尝试触摸文件,如果成功退出,您知道您可以写入特定文件名。如果它以错误代码退出,你知道你不能。这似乎是最简单的方法。然后,如果您不想要该文件,则可以删除它。
-
如果文件不存在,touch不会返回任何错误,它会创建一个零大小的新文件,你不能这样弄!
标签: file-io file-permissions directory-permissions