【问题标题】:Java Application can't write to disk though full permissions are given尽管已授予完整权限,但 Java 应用程序无法写入磁盘
【发布时间】:2015-11-18 03:19:52
【问题描述】:

我正在尝试从 Java 应用程序写入 C:\{foldername}\batches\{date}\batch.csv。管理员帐户可以写入文件夹,但没有管理员帐户的人不能。非管理员用户拥有写入该文件夹、创建目录和文件以及更新的完全权限,他们可以使用资源管理器而不是应用程序来执行此操作。我还有一个 SQL 文件,它输出到一个类似的目录,该目录在标准用户下工作得很好,因为这些用户获得了对该文件夹的写权限。我认为这是一个权限问题,但他们对该文件夹拥有完全权限。洞察力?

【问题讨论】:

  • 是否有其他进程锁定了文件?有一些免费程序会告诉您在 Windows 的文件时哪个进程被锁定
  • 如果您有任何例外请分享,除此之外我们只能推测。#
  • 我暂时将异常抛出到弹出窗口中,但我什么也没得到。
  • 另一个进程没有锁定文件。它们仅由该应用程序创建,创建后我们不会对它们进行任何操作。

标签: java windows permissions filesystems user-permissions


【解决方案1】:

您可以使用以下方法检查文件是否可写-

File f = new File("path");
if(f.canWrite()) {
  // write access
} else {
  // no write access
}

如果是权限问题,请尝试使用以下方式专门使文件可写-

file.setWritable(false);

【讨论】:

    猜你喜欢
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    相关资源
    最近更新 更多