2012-12-04 58 views
0

我正在用Java创建一个跨平台脚本,它将启动Flash并执行一些JSFL脚本。如何在Mac OS X上从Java启动Flash?

我发现这篇文章的命令行Executing JSFL from the Command Line on OS X

作品

osascript -e 'tell application "Flash" to open posix file "/var/...tmp/sample.jsfl"' 

不从Java工作,像这样:

String flashExe = "Flash"; 
String jsflFile = "/var/...tmp/sample.jsfl"; 

MessageFormat osascriptFormat = new MessageFormat("''tell application \"{0}\" to open posix file \"{1}\"''"); 
String osascript = osascriptFormat.format(new Object[]{flashExe, jsflFile}); 
String[] commands = new String[]{"osascript", "-e", osascript}; 

ProcessBuilder pb = new ProcessBuilder(commands); 
pb.start(); 

问题是:如何从Jav开始Flash一个在Mac OS X上?

回答

0

容易...根据本文[HOW TO] Launch Application from Terminal?

String jsflPath = "/var/...tmp/sample.jsfl";  
File jsflFile = new File(jsflPath); 
jsflFile.setExecutable(true); 
String[] commands = new String[]{"open", jsflFile.getAbsolutePath() }; 

ProcessBuilder pb = new ProcessBuilder(commands); 
pb.start(); 

String[] commands = new String[]{"open", "-a", "Adobe Flash CS5", jsflFile.getAbsolutePath()};