Jat*_*tin 1 java windows file-io swing jdesktop
我需要我的java代码来打开基于默认应用程序的文件.感谢 如何为给定文件打开用户系统首选编辑器?这表明了一种质量方法
Runtime.getRuntime().exec("RUNDLL32.EXE SHELL32.DLL,OpenAs_RunDLL "+file);
Run Code Online (Sandbox Code Playgroud)
但问题是,一旦我选择要打开它的应用程序,它就不会打开文件.我不知道它的原因.
谢谢
编辑:
Desktop.getDesktop().open(file);
Run Code Online (Sandbox Code Playgroud)
这将在默认应用程序中打开 我希望用户选择要打开它的应用程序
使用 :
Desktop.getDesktop().open(file);
Run Code Online (Sandbox Code Playgroud)
http://docs.oracle.com/javase/7/docs/api/java/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();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
646 次 |
| 最近记录: |