有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用JavaAPI锁定和解锁文件

我们的一个客户正在使用一些新颖的安全软件,有时会锁定一些。我们的软件创建的类文件。当这种情况发生时,这会给他们带来一些棘手的问题,我正在尝试研究一种变通方法,我们可以在错误处理中添加这种方法,以在出现问题时解决这个问题。我想知道java api中是否有任何调用可用于检测文件是否被锁定,如果被锁定,则解除锁定


共 (2) 个答案

  1. # 1 楼答案

    在尝试写入文件之前,可以使用File.canWrite()检查java应用程序是否可以写入该文件。但是,如果第三方应用程序将文件锁定在您的文件之间,您仍然可能会遇到问题。canWrite()检查应用程序实际尝试写入的时间。出于这个原因,我会编写你的应用程序,只需继续并尝试写入文件,并捕获文件锁定时抛出的任何异常。我不相信有一种原生Java方法可以解锁被另一个应用程序锁定的文件。你可以以特权用户的身份执行一个shell命令来强制执行,但这似乎不雅观

  2. # 2 楼答案

    档案。canWrite()有亚萨提到的种族条件。你可以试试FileChannel。lock()并获得文件的独占锁。只要有人愿意。类位于本地磁盘上,这应该可以正常工作(在网络磁盘上,文件锁定可能会有问题)

    或者,这取决于。如果发现类名,您可以为自己的类创建一个新名称。每次上课;然后,如果杀毒软件锁定了您的初始类,您仍然可以创建新类