MAC(苹果)-JAVA Runtime.exec调用 .app 程序
2011-06-21 16:06
876 查看
今天修改了一本MAC下用Runtime.exec调用.app的程序。
因为需要在调用APP时自动打开文件。
以前的写法是
本想直接在后面加上空格及要打开的文件名,但是一直不成功。
后来在苹果的终端下执行了命令
open -a /user/test.app test.sml
一样不行,只能打开test.app ,打开不了文件
后来单独执行/user/test.app的时候,
提示 /user/test.app : is a directory!
于是右键显示包内容,看到.app 包内的结构如下
+--.app
+-----Contents
+-------Frameworks
---------Info.plist
+-------MacOS
---------Pkginfo
+-------Resources
其中,MacOS里存放了可执行的程序,本例中即为 test
找了了可执行程序,再次在终端执行命令、
/user/test.app test.sml
终于打开了文件,于是JAVA的写法也明了了
经过测试执行正常,这个写法是通过命令执行而想到的,
如果大家有更规范的写法希望给予指导!
另外,在QT下面,用p->start(prog, args);就没有问题,很想知道为什么
因为需要在调用APP时自动打开文件。
以前的写法是
Runtime.getRuntime().exec("open /user/test.app")
本想直接在后面加上空格及要打开的文件名,但是一直不成功。
后来在苹果的终端下执行了命令
open -a /user/test.app test.sml
一样不行,只能打开test.app ,打开不了文件
后来单独执行/user/test.app的时候,
提示 /user/test.app : is a directory!
于是右键显示包内容,看到.app 包内的结构如下
+--.app
+-----Contents
+-------Frameworks
---------Info.plist
+-------MacOS
---------Pkginfo
+-------Resources
其中,MacOS里存放了可执行的程序,本例中即为 test
找了了可执行程序,再次在终端执行命令、
/user/test.app test.sml
终于打开了文件,于是JAVA的写法也明了了
Runtime.getRuntime().exec("/user/text.app/Contents/MacOS/insilicoSim test.sml");
经过测试执行正常,这个写法是通过命令执行而想到的,
如果大家有更规范的写法希望给予指导!
另外,在QT下面,用p->start(prog, args);就没有问题,很想知道为什么
相关文章推荐
- [转]java调用外部程序Runtime.getRuntime().exec
- Java技巧:使用Runtime.exec重定向本地程序Java技巧:使用Runtime.exec重定向本地程序调用调用
- java.lang.Runtime.getRuntime().exec 调用后,等待被调用程序结束后再继续执行
- Runtime.getRuntime().exec()实现Java调用python程序
- java程序中调用其他工具打开文本---Runtime.getRuntime().exec()的使用
- 为什么苹果的Mac App Store还要拒绝java和flash
- java Runtime.getRuntime().exec 调用系统脚本/命令注意事项
- Java借助Runtime调用外部程序阻塞的代码
- Timer定时通过Runtime的exec方法调用命令“cmd exp..” 后,任务管理器不停的出现“Java.exe”和“cmd.exe”进程
- 用Runtime.getRuntime().exec()调用外部程序.
- java调用可执行程序Runtime.getRun…
- java 利用Runtime.getRuntime().exec()调用python脚本并传参
- 通过Runtime.getRuntime().exec调用底层Linux下的程序或脚本
- 使用Runtime.getRuntime().exec()在java中调用python脚本
- 如何在JAVA代码中执行 exec master..xp_cmdshell @cmd // 当作SQL语句调用就成了 或者调用 Runtime.getRuntime().exec
- Java 使用Runtime.getRuntime.exec 和 ProcessBuilder 调用外部命令
- java: Runtime和Process调用本机程序
- Android: 通过Runtime.getRuntime().exec调用底层Linux下的程序或脚本
- Java调用Runtime.getRuntime().exec(commandStr)来调用cmd执行指令
- Android: 通过Runtime.getRuntime().exec调用底层Linux下的程序或脚本