用java编写一个打开指定文件的程序

界面是一个编辑框,一个按钮,运行在win7上
在编辑框中输入要打开的文件的路径和名称,点击按钮,就能调用系统的默认打开方式打开文件,如果系统中不存在能打开这种文件的程序,给出错误提示
求大神指点一下,或者给出相关的资料,先谢谢了

运行以下代码试试看。
public static void main(String[] args) {
Frame frame = new Frame("打开文件窗口");
frame.setLayout(new FlowLayout(FlowLayout.CENTER));
frame.setBounds(100, 200, 400, 300);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
final TextField txtField = new TextField(50);
Button button = new Button("打开指定文件");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String path = txtField.getText();
System.out.println(path);
if (path.length() == 0) {
return;
}
try {
Runtime.getRuntime().exec("explorer.exe /n, " + path);
} catch (IOException ex) {
ex.printStackTrace();
}
}
});
frame.add(txtField);
frame.add(button);
frame.setVisible(true);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-27
能想到的是:

可以用Java 高命令行的方式来做。但是不太好判断系统中不存在能打开这种文件的程序的情况,只能想其他办法。比如在进程中来判断文件有没有被打开等。

示例(注意命令前面的 cmd /C ):

package com;

public class Test3 {

/**
 * @param args
 */
public static void main(String[] args) {

String cmd = "cmd /C d:\\files\\text.txt";
Process p;
try {
p = Runtime.getRuntime().exec(cmd);
} catch (Exception e) {
e.printStackTrace();
}
}
}

第2个回答  2013-08-27
start 程序所在的绝对路径
例如 start C:\Program Files\SogouExplorer\sogouexplorer.exe
 
你的没有路径
 
public class RuntimeDemo01 {
    public static void main(String[] args) throws Exception {
        Runtime run = Runtime.getRuntime(); // 单例设计
        run.exec("C: \\Program Files\\SogouExplorer\\sogouexplorer.exe");// 执行程序
    }
 
}

追问

我是要打开文件啊,txt、mp3、wav之类的,不是仅仅启动某个程序

追答一样的了,会调用的了,你真是太笨了

追问

汗..........
首先表示感谢,如果系统中不存在打开某种文件的程序呢

追答操作批处理命令咯 
doc命令下面怎么敲,就怎么弄咯 processbuilder类咯

追问

能不能说的具体点啊,比如说我要打开txt文件,但是我的电脑中没有记事本程序,程序能够判断出来我的电脑中没有记事本,然后给出错误提示