为了账号安全,请及时绑定邮箱和手机立即绑定

以下是关于Runtime.getRuntime().exec的问题,麻烦大神帮忙看看~

以下是关于Runtime.getRuntime().exec的问题,麻烦大神帮忙看看~

小唯快跑啊 2021-12-01 11:07:21
import java.io.*;public class Files {public static void main(String s[]) {try{Runtime.getRuntime().exec("cmd /c start D:\\Games\\打砖块\\DXBall2.exe");}catch(IOException e){}}}打开一般程序都没什么问题,可就是无法打开游戏程序,为什么?运行这个程序时弹出一个Fatal Error框,上面有如下信息:Could not find needed graphics!运行下面这个程序时D:\\Games\\雷电\\ds.exe,打开了游戏窗口,可却出现错误报告,但这两个程序双击都是可以打开的啊。不过也确实有几个游戏程序可以运行。
查看完整描述

3 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

首先说点Runtime类吧,他是一个与JVM运行时环境有关的类,这个类是Singleton的。我说几个自己觉得重要的地方。
1、Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。
2、Runtime上其他大部分的方法都是实例方法,也就是说每次进行运行时调用时都要用到getRuntime方法。
3、 Runtime中的exit方法是退出当前JVM的方法,估计也是唯一的一个吧,因为我看到System类中的exit实际上也是通过调用 Runtime.exit()来退出JVM的,这里说明一下Java对Runtime返回值的一般规则(后边也提到了),0代表正常退出,非0代表异常中 止,这只是Java的规则,在各个操作系统中总会发生一些小的混淆。
4、Runtime.addShutdownHook()方法可以注册一个hook在JVM执行shutdown的过程中,方法的参数只要是一个初始化过但是没有执行的Thread实例就可以。(注意,Java中的Thread都是执行过了就不值钱的哦)
5、 说到addShutdownHook这个方法就要说一下JVM运行环境是在什么情况下shutdown或者abort的。文档上是这样写的,当最后一个非 精灵进程退出或者收到了一个用户中断信号、用户登出、系统shutdown、Runtime的exit方法被调用时JVM会启动shutdown的过程, 在这个过程开始后,他会并行启动所有登记的shutdown hook(注意是并行启动,这就需要线程安全和防止死锁)。当shutdown过程启动后,只有通过调用halt方法才能中止shutdown的过程并退 出JVM。

查看完整回答
反对 回复 2021-12-06
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

用这个有时就是会出现毛病。可能还得再加些参数。
你用Desktop类。
打开一个文件
Desktop d=Desktop.getDesktop();
d.open("D:\\Games\\打砖块\\DXBall2.exe");
这个方法肯定可以打开。它是利用windows的默认打开方式的

查看完整回答
反对 回复 2021-12-06
?
慕森王

TA贡献1777条经验 获得超3个赞

import java.io.*;
public class Files {
public static void main(String s[]) {
try{
Runtime.getRuntime().exec("D:\\Games\\打砖块\\DXBall2.exe");
}catch(IOException e){
}
}
}



查看完整回答
反对 回复 2021-12-06
  • 3 回答
  • 0 关注
  • 439 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信