java - 如何在启动时向我的 java 应用程序(如 .exe)传递文档的路径?

标签 java windows exe file-association

我使用 JSmooth 将我的 java 应用程序 (jar) 转换为可执行文件。这是一个简单的文本编辑器,就像记事本一样。我想使用Windows的“打开方式”功能来用exe打开某些文件。为此,我只需要每个文件的路径。我该怎么做?

我考虑过使用 java-property 并使用 System.getProperty("VariableName") 调用它,尽管我不知道这是否可行。 ${EXECUTABLEPATH} 只是获取 MyApp.exe 的位置。

最佳答案

对于简短的属性可以使用 Preferences.userNodeForPackage(MyExample.class); 和方法:get、put、flush。
https://docs.oracle.com/javase/8/docs/technotes/guides/preferences/index.html

和/或使用 exe 文件附近的属性文件作为保存路径 https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html

对于使用 Windows 打开,可以使用此架构,例如:

if (Desktop.isDesktopSupported()) {
    Desktop desktop = Desktop.getDesktop();
    if (desktop.isSupported(Desktop.Action.OPEN)) {
         desktop.open(file);
    }
}

https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html

有关集合关联,请参阅: https://www.thewindowsclub.com/change-file-associations-windows 可能有用 Have the ability to set Java application as default file opener?

关于java - 如何在启动时向我的 java 应用程序(如 .exe)传递文档的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55980471/

相关文章:

java - Printf 小数位格式

java - 在 java 中使用 long as ArrayList 索引

c++ - "type"使用 C++ 的表情符号

delphi - 如何根据目标平台控制EXE名称?

java - 如何将处理中的矩形更改为我正在制作的游戏的图像?

java - 不鼓励在 Web 应用程序中使用线程吗?

Python netifaces 模块 Windows 安装

ADB 看不到但可从 Windows XP 访问的 Android 设备

c++ - 在 Azure Function 中使用 DLL 运行 .exe

c - 为什么我的 exe 文件在 cmd 中可以正常工作,但双击却无法正常工作?