让用户选择打开文件的应用程序



我需要我的Java代码来基于默认应用程序打开文件。谢谢如何打开用户系统首选给定文件的编辑器?这建议通过

进行质量方法
Runtime.getRuntime().exec("RUNDLL32.EXE SHELL32.DLL,OpenAs_RunDLL "+file);

但是问题是,一旦我选择了打开它的应用程序,就不会打开文件。我不知道原因。

谢谢

编辑:

Desktop.getDesktop().open(file);

此打开在默认应用程序中。我希望用户选择将其打开的应用程序

使用:

Desktop.getDesktop().open(file);

http://docs.oracle.com/javase/7/docs/api/java/awt/awt/desktop.html#open(java.io.file)

编辑:

这是使您的命令工作的代码:

import java.io.File;
import java.io.IOException;
public class TestExec {
    public static void main(String[] args) throws IOException, InterruptedException {
        File file = new File("d:/Clipboard1.png");
        ProcessBuilder builder = new ProcessBuilder("RUNDLL32.EXE", "SHELL32.DLL,OpenAs_RunDLL", file.getAbsolutePath());
        builder.redirectErrorStream();
        builder.redirectOutput();
        Process process = builder.start();
        process.waitFor();
    }
}

相关内容

  • 没有找到相关文章

最新更新