Java 以编程方式将文件类型与.jar文件关联

Java 以编程方式将文件类型与.jar文件关联,java,Java,我知道如何手动将文件类型与.jar文件关联: assoc .ext=filetype ftype filetype="C:\Program Files\Java\jre6\bin\javaw.exe" -jar "path\to\jar\file\YourJarFile.jar" "%1" 我目前正在使用Runtime.exec()尝试执行这些命令,但我从assoc命令中获得访问被拒绝。。我假设我需要管理员权限才能运行assoc,如何从java应用程序中执行此操作?该应用程序应该与environ

我知道如何手动将文件类型与.jar文件关联:

assoc .ext=filetype
ftype filetype="C:\Program Files\Java\jre6\bin\javaw.exe" -jar "path\to\jar\file\YourJarFile.jar" "%1"

我目前正在使用Runtime.exec()尝试执行这些命令,但我从assoc命令中获得
访问被拒绝。
。我假设我需要管理员权限才能运行assoc,如何从java应用程序中执行此操作?

该应用程序应该与environnements上下文连接。尝试使用assoc的完整文件路径

尝试cmd/c assoc或类似的方法。它是一个嵌入式命令处理器命令

完整的文件路径是什么?我在system32文件夹中找不到它。MJB说assoc是一个嵌入式命令,看起来是这样的。你的应用程序不需要。你有GUI吗?你能从一个网站上发布它吗?它没有GUI,我只是做了一个快速测试,看看我是否能从java上做到这一点。我建议你从一个安装程序或者运行提升版的本机代码或者批处理文件中做到这一点。请参阅下面我的回答下的评论。我决定从ProcessBuilder切换到Runtime.exec(),cmd/c修复了我的问题。现在我从assoc命令中得到了拒绝访问的错误。是的,我对这是一个特权命令并不感到惊讶。然后,您有两个选择:运行java提升版(从安全角度看,这是个坏主意),或者调用一个一直在本机代码中运行的服务或其他进程。或者放弃(这是第三个选择),我决定使用.bat文件方法。工作起来很有魅力。