Java 使用我的可执行jar文件进行文件关联

Java 使用我的可执行jar文件进行文件关联,java,executable-jar,Java,Executable Jar,我为我的文件分配了一个名为*.XSCA的扩展名。我想在用户使用我的可执行jar文件单击该文件打开它时读取该文件的内容。我该怎么做?假设您在windows下工作: 创建一个批处理文件(*.bat)来调用您的jar(它应该类似于“java-jar-yourJar.jar”) 右键单击您类型的文件,转到“属性”并将打开文件的程序更改为该批处理文件 让批处理文件将文件位置作为参数传递给jar 您可以使用任何文本编辑器编写批处理文件。使用谷歌来了解如何。它只是jar的包装器,您可以在windows中将

我为我的文件分配了一个名为*.XSCA的扩展名。我想在用户使用我的可执行jar文件单击该文件打开它时读取该文件的内容。我该怎么做?

假设您在windows下工作:

  • 创建一个批处理文件(*.bat)来调用您的jar(它应该类似于“java-jar-yourJar.jar”)
  • 右键单击您类型的文件,转到“属性”并将打开文件的程序更改为该批处理文件
  • 让批处理文件将文件位置作为参数传递给jar
您可以使用任何文本编辑器编写批处理文件。使用谷歌来了解如何。它只是jar的包装器,您可以在windows中将其与文件扩展名类型关联

编辑:

好的,一步一步:

这就是您的Java程序(将它与Eclipse一起导出为可运行的jar):

这就是批处理文件(只需将其另存为例如您的starter.bat):


现在右键单击文件(扩展名为.fileextension)并转到属性并将其与批处理文件关联。就是这样。

假设您在windows下工作:

  • 创建一个批处理文件(*.bat)来调用您的jar(它应该类似于“java-jar-yourJar.jar”)
  • 右键单击您类型的文件,转到“属性”并将打开文件的程序更改为该批处理文件
  • 让批处理文件将文件位置作为参数传递给jar
您可以使用任何文本编辑器编写批处理文件。使用谷歌来了解如何。它只是jar的包装器,您可以在windows中将其与文件扩展名类型关联

编辑:

好的,一步一步:

这就是您的Java程序(将它与Eclipse一起导出为可运行的jar):

这就是批处理文件(只需将其另存为例如您的starter.bat):


现在右键单击文件(扩展名为.fileextension)并转到属性并将其与批处理文件关联。就是这样。

我要问的是如何使任何关联的文件类型使用相应的数据打开我的程序。例如,如果您有一个.doc文件,它将使用保存到该文件中的任何内容打开Microsoft word。我知道如何将文件扩展名与程序关联,但它只是从文件位置打开程序。如何使程序在启动时读取文件?尝试将文件的位置作为参数传递给main-method。我如何才能做到这一点?我在这方面是新手,我要问的是如何使任何关联的文件类型用相应的数据打开我的程序。例如,如果您有一个.doc文件,它将使用保存到该文件中的任何内容打开Microsoft word。我知道如何将文件扩展名与程序关联,但它只是从文件位置打开程序。如何使程序在启动时读取文件?尝试将文件的位置作为参数传递给main-method。我如何才能做到这一点?我是这方面的新手
public class ExtensionOpener {

    public static void main(String[] args) throws InterruptedException {

        System.out.println("args:");

        for(String arg: args) 
            System.out.println(arg);

        Thread.sleep(3000);
    }
}
@echo run bat
java -jar C:\Users\Thomas\Desktop\FileOpener.jar -file -%1