如果在windows的运行里输入mailto:[email protected],就会调出默认的发送邮件程序,但在java中Runtime.getRuntime().exec("mailto:[email protected]");却会抛出例外,如何在java中达到与运行同样的效果?

解决方案 »

  1.   

    C:\>mailto:[email protected]
    文件名、目录名或卷标语法不正确。C:\>所以不行至少得在命令行下可用才行。
    C:\>可以试一下直接调用邮件程序,后面加参数即可。
      

  2.   

    Windows XP中测试通过。Runtime.getRuntime().exec("cmd /k start mailto:[email protected]"); 这个是好用的。不过与操作系统相关性太强,有损java形象啊。
    呵呵……简单解释一下
    cmd /k - 运行命令行后面是内部命令
    start - 命令行中运行某个文件的命令,会调用系统默认的关联程序打开参数中指定的内容
    mailto:[email protected] - 这个你知道的
      

  3.   

    刚刚查了查cmd的参数。
    好象用
    cmd /c
    更好些。因为cmd /k执行过之后会保留在那里等待,而你在java中如果不强制结束进程,就会造成系统资源的浪费。相反cmd /c是执行后就自动停止进程了。