【问题标题】:Java service can't list files in directoriesJava 服务无法列出目录中的文件
【发布时间】:2010-10-31 21:52:36
【问题描述】:

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

【问题讨论】:

  • 该目录是本地目录、映射网络驱动器上的目录还是 UNC 共享上的目录?
  • 这是一个本地目录(在我的主目录中)

标签: java windows file service account


【解决方案1】:

为运行 Java 服务的用户提供相关文件夹所需的凭据。

我相信它以 SYSTEM 身份运行。

【讨论】:

  • 其实很好奇,因为系统用户拥有整个文件系统的权限(这是默认的windows行为)。我什至分配了特殊权限,但没有帮助。
【解决方案2】:

感谢您的所有帮助!我发现了我的问题,我正在从我认为在用户家中的配置文件中读取路径(我的家和系统的家不一样......我的错)。 Unfourtenly 我没有意识到,因为我使用的是回收类(:S)。再次非常感谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-22
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    相关资源
    最近更新 更多