如何从java包运行Applescript

时间:2013-08-12 04:01:09

标签: java swing shell applescript

我正试图在我的系统中运行我的AppleScript。

String cmd = "osascript " + cmdpath + "ReadNeofile.scpt";
UnixComm(cmd);

我使用Java Swing开发了系统及其独立系统。 代码工作正常,我能够运行applescript并获得输入。我最大的缺点是,要做到这一点,我需要在客户端PC中保存苹果脚本。有没有什么方法可以从java包中调用applescript,因为在客户端pc中保存脚本不安全。我害怕如果我的客户不小心删除了脚本,我的整个系统都会被破坏。请指教。

1 个答案:

答案 0 :(得分:1)

我相信您可以将代码放入变量中(在此示例中,它称为codeVar)并转义所有换行符和引号,然后将代码更改为:

String cmd = "osascript " + cmdpath + "<( echo '" + codeVar + "')";
UnixComm(cmd);

另一种解决方案是让代码将applescript放在/tmp的文件中,然后在/ tmp中运行代码,客户端希望将其删除。 (并且在您完成使用后,计算机将删除该代码)
这方面的例子是:

PrintWriter out = new PrintWriter("/tmp/myapplescript.scpt");
out.print(codeVar);
String cmd = "osascript " + cmdpath + "/tmp/myapplescript.scpt";
UnixComm(cmd);

这两个解决方案都要求您拥有applescript,并返回返回字符(将其替换为\n),还可能还有双引号(如果有)(将其替换为\"