检查其他用户是否有写入文件的权限

2024-03-01

在安装过程中,我需要检查用户提供的路径是否对指定用户可写。

执行Setup.exe(仅适用于Windows的软件)的用户可能无法写入路径(像\fileserver\share这样的UNC路径),所以我认为如何检查写入目录或文件的权限? https://stackoverflow.com/questions/130617/how-do-you-check-for-permissions-to-write-to-a-directory-or-file可能不适合我。

我知道Java7中将会有一个新的Filesystem-API,但是Java7还没有发布。

EDIT:用户 1 - 运行安装程序 用户 2 - 运行已安装的应用程序

如果用户 1 收到错误“权限被拒绝”,我仍然不知道用户 2 的情况。我需要在安装过程中检查其他用户帐户的权限。

我可能会用net use /user:<user2> <passwd2>但我不确定我是否获得了所需的所有信息。我得到的信息是路径存在,但如果允许用户 2 写入则不存在。


在 java 7 之前,没有标准方法来检查用户是否可以使用标准库写入 java 文件。这是因为旧的 java io 不够强大。

例如,如果考虑文件所有者等,File.canWrite() 将不起作用。

你可以做的就是直接签入它,例如,尝试向其中写入一个空行。 (这需要考虑您的应用程序,如果您的应用程序不关心末尾的空白行并自动删除结束空白行,那么它就可以工作......这只是一个示例,考虑到您的应用程序,您可以得到许多棘手的方法应用程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查其他用户是否有写入文件的权限 的相关文章

随机推荐