gpt4 book ai didi

java - 解锁由 Excel、Word 或任何程序打开的文件

转载 作者:行者123 更新时间:2023-11-30 10:28:31 27 4
gpt4 key购买 nike

我用 Java 编写的代码是关闭用户打开的文件。因此,通常会发生以下情况:用户正在编辑一个 Excel 文件,他们保存它,让它保持打开状态,然后合上笔记本电脑的盖子。该文件仍保持打开和锁定状态,因此其他人无法对其进行编辑。有没有办法将它们踢掉并解锁文件?当他们使用该文件时,它被“ checkout ”。这是显示的内容:

What checked out looks like: (image)

以下代码通过 WinDAV 与 SharePoint 交互,告诉我文件是否被锁定(我知道这不是很好的代码,但它有效,我已经尝试了其他几种解决方案,包括 Filelock、Apache IO、FileStream 等.):

String fileName = String.valueOf(node);
File file = new File(fileName);
boolean replaced;

File sameFileName = new File(fileName);

if(file.renameTo(new File(sameFileName + "_UNLOCK"))){
replaced = true; //file is currently not in use
(new File(sameFileName + "_UNLOCK")).renameTo(sameFileName);
}else{
replaced = false; //file is currently in use
}

那么,我现在该如何解锁文件呢?唯一的其他解决方案是使用 SharePoint 库的 PowerShell,但这有很多其他问题......

最佳答案

根据 post ,您可以使用工具 Handle ,这是一个 CLI 工具,用于找出哪个进程正在锁定文件。获得进程 ID 后,您可以终止该进程。我不知道有任何 Java API 可以识别罪魁祸首进程。要终止进程,您可以使用taskkill,您可以使用Runtime 调用它,例如this。 .这两个操作都要求您的应用程序以管理员或更高权限运行。

关于java - 解锁由 Excel、Word 或任何程序打开的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44574492/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com