用java编写一个打开指定文件的程序
界面是一个编辑框,一个按钮,运行在win7上在编辑框中输入要打开的文件的路径和名称,点击按钮,就能调用系统的默认打开方式打开文件,如果系统中不存在能打开这种文件的程序,给...
界面是一个编辑框,一个按钮,运行在win7上
在编辑框中输入要打开的文件的路径和名称,点击按钮,就能调用系统的默认打开方式打开文件,如果系统中不存在能打开这种文件的程序,给出错误提示
求大神指点一下,或者给出相关的资料,先谢谢了 展开
在编辑框中输入要打开的文件的路径和名称,点击按钮,就能调用系统的默认打开方式打开文件,如果系统中不存在能打开这种文件的程序,给出错误提示
求大神指点一下,或者给出相关的资料,先谢谢了 展开
3个回答
展开全部
运行以下代码试试看。
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);
}
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);
}
展开全部
能想到的是:
可以用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();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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之类的,不是仅仅启动某个程序
追答
一样的了,会调用的了,你真是太笨了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询