package TestA;import java.awt.*;
import java.awt.event.*;
import java.io.*;public class Test1 extends Frame {
public static void main(String[] args) {
Frame Frame = null;
FileDialog fd = new FileDialog(Frame, "Open", FileDialog.LOAD);
fd.setVisible(true);
String fileName = fd.getFile();
System.out.println(fd.getDirectory());
System.out.println(fileName); if (fileName != null) {
Runtime ce = Runtime.getRuntime();
try {
ce.exec("cmd /c start " + fd.getDirectory() + fd.getFile()); } catch (Exception e) {
e.printStackTrace();
} } }}
要是路径中有空格  就不能执行文件了  希望能执行任意路径的程序
求高手赐教   

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【lyfnintendo】截止到2008-07-28 22:31:53的历史汇总数据(不包括此帖):
    发帖的总数量:1                        发帖的总分数:20                       每贴平均分数:20                       
    回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:1                        结贴的总分数:20                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    支持楼上的!
    也可以自己用String.charAt(" ")>0的方法对fileName做些处理。
      

  3.   

    上面的方法 依然无法执行路径有空格的程序
    D:\SS4S\Shin Sangokumusou 4 Special.exe
    这个无法运行D:\SS4S\354S.exe
    这个就能运行
      

  4.   


    Runtime rt = Runtime.getRuntime();rt.exec(
    "C:\\Program Files\\Internet Explorer\\iexplore.exe http://www.17173.com");
    }
      

  5.   

    试试这样:
    "D:\SS4S\Shin Sangokumusou 4 Special.exe"
    就是组装exec方法参数的时候给你的文件路径加个双引号.
      

  6.   

    ce.exec("cmd /c start \"" + fd.getDirectory() + fd.getFile()+"\""); 
      

  7.   

    看看帮助文档: java.lang.ProcessBuilder
      

  8.   

    10楼的方法  只能弹出一个DOS  窗口