gpt4 book ai didi

java - 在 Java 中获取当前 Activity 文件(不是 Java 应用程序,例如 pdf)的完整路径

转载 作者:行者123 更新时间:2023-11-30 11:44:19 25 4
gpt4 key购买 nike

( Activity - 窗口在前台的文件。)

我正在研究一个问题,即实时提取当前 Activity 的 pdf (.pdf)、word(.doc、.docx)或记事本 (.txt) 文件中的文本。我已经尝试过 JNA,并获得了 Activity 文件名(例如 a.pdf)和 exe 名称,但没有文件路径(例如 C:/Desktop/.../a.pdf。)我需要完整的文件路径在这里,因为一旦我知道它的路径,我就可以读取相应的文件并提取其中的文本。 (我不需要 exe 路径,例如 C:/Program Files/adobe.exe。)

我查看了 JNA 的文档,但没有找到可以提供当前 Activity 文件(不是 Java 应用程序)路径的方法。

或者,我认为也许某些包可以提供当前焦点文件/图标的完整路径(例如,我在打开它之前单击 a.pdf,我的鼠标将聚焦在 a.pdf 上。)我试过 JNI,但仍然没有找到这样的方法。

能否就如何使用 Java 获取当前 Activity 文件(不是 Java 应用程序)的路径或如何获取鼠标焦点中的当前文件/图标的路径提供一些建议?

非常感谢!

最佳答案

在 unix 上,您可以使用 lsof 命令获取进程打开的文件。我在 Windows 上搜索了一些类似的东西并想出了这个线程:

How can I determine whether a specific file is open in Windows?

the equivalent of lsof -p pid

is combined output from sysinternals handle and listdlls, ie

handle -p pid

listdlls -p pid

you can find out pid with sysinternals pslist

如果您不习惯 unix 术语,“pid”表示进程 ID,即标识每个进程的编号。找出 acrobat 的 pid,然后获取进程的句柄,您应该能够获取 acrobat 打开的所有文件。

免责声明:我是 Mac/Linux 用户,所以我没有尝试过上面的命令!

关于java - 在 Java 中获取当前 Activity 文件(不是 Java 应用程序,例如 pdf)的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10809372/

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