2010-10-31 47 views
0

我正在使用Java进行Windows服务,此服务列出目录中的文件并将结果写入文件。我的问题是,当我在服务运行时调用Java.File.isDirectory()时,它总是导致false(当我像其他程序一样手动运行服务时,它运行良好)。此外,如果我尝试以下操作:for(File F:directorio.listFiles())当我将程序作为服务运行时会引发异常。我相信是权限相关的,因为当我将运行服务的帐户更改为我自己的凭据时,它会正确列出文件。你知道是否有解决方法吗? (更改Windows策略,另一种特殊帐户,另一种列出目录文件的方式,也许我错过了其他任何事情)。提前致谢。Java服务无法列出目录中的文件

+0

目录是本地目录,映射网络驱动器上的目录还是UNC共享上的目录? – kaliatech 2010-11-01 23:34:55

+0

这是一个本地目录(在我的主目录中) – Rafael 2010-11-04 02:34:53

回答

0

感谢您的帮助!我发现我的问题,我正在阅读配置文件的路径,我认为这是在用户的家里(我的家和系统的家不一样...我的错)。不知怎的,我并没有意识到,因为我正在使用一个循环班(:S)。再次非常感谢。

0

为用户提供正在运行Java服务的用户所需的证书文件夹。

我相信它作为SYSTEM运行。

+0

其实很好奇,因为系统用户在整个文件系统中拥有权限(这是默认的Windows行为)。我甚至分配了特殊权限,但没有帮助。 – Rafael 2010-11-01 00:22:00