在安装过程中,我需要检查用户提供的path是否可写入指定的用户。
path(\文件服务器\共享的UNCpath)可能不能写入正在执行Setup.exe(它是Windows-Only软件)的用户,所以我认为如何检查写入目录的权限或文件? 可能不适合我
我知道在Java7中会有一个新的Filesystem-API,但是Java7还没有发布。
编辑:用户1 – 运行安装程序用户2 – 运行已安装的应用程序
如果用户1出现“权限被拒绝”错误,我仍然不知道,关于用户2.我需要在安装过程中检查其他用户权限。
我可以使用net use /user:<user2> <passwd2>
但是我不确定,如果我得到所有我需要的信息。 我得到的信息,该path存在,但不是,如果用户2被允许写入。
在Java 7之前,你没有标准的方法来检查用户是否可以使用标准库来写入Java文件。 这是因为旧的Java io只是不够强大。
例如,File.canWrite()将不会工作,如果考虑文件的所有者等….
你可以做的是直接检查它,例如,尝试写一个空行。 (这需要考虑你的应用程序,如果你的应用程序只是不关心空白行结束和自动删除结束空行,那么它的工作…..这只是一个例子,你可以得到很多棘手的方式考虑你一个应用。