在安装过程中,我需要检查用户提供的路径是否对指定用户可写。
执行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(使用前将#替换为@)