如何在启动时将文件路径传递给我的 java 应用程序(如 .exe)?
How can pass my java application (as .exe) the path of a document on startup?
我使用 JSmooth 将我的 java 应用程序 (jar) 转换为可执行文件。这是一个简单的文本编辑器,就像记事本一样。我想使用 windows 的 "Open With" 函数来用 exe 打开某些文件。为此,我只需要每个文件的路径。我该怎么做?
我想过使用 java-属性 并用 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
and/or 使用 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?
我使用 JSmooth 将我的 java 应用程序 (jar) 转换为可执行文件。这是一个简单的文本编辑器,就像记事本一样。我想使用 windows 的 "Open With" 函数来用 exe 打开某些文件。为此,我只需要每个文件的路径。我该怎么做?
我想过使用 java-属性 并用 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
and/or 使用 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?