【问题标题】:AppleScript from Java on Mac OS X 10.6?Mac OS X 10.6 上来自 Java 的 AppleScript?
【发布时间】:2011-05-28 04:51:35
【问题描述】:

为了从 Python 调用 AppleScript,我使用了“appscript”桥:

http://appscript.sourceforge.net/

在 Mac OS X 10.6+ 上,我可以使用什么从 Java 调用 AppleScript?

【问题讨论】:

    标签: java applescript appleevents sourceforge-appscript


    【解决方案1】:

    这是一种适用于 Mac OS X 10.6+ 上的 Java 的方法。此示例脚本获取当前文件夹的创建日期:

    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    import javax.script.ScriptException;
    import java.io.File;
    import java.util.Date;
    import java.util.GregorianCalendar;
    
    public class ScratchSpace {
    
        public static void main(String[] args) throws ScriptException {
            System.out.println("creationDate = " + getFileCreationDate(new File(".")));
        }
    
        private static Date getFileCreationDate(File file) throws ScriptException {
            final String script = "set myfile to \"" + file.getAbsolutePath() + "\"\n" +
                    "set myinfo to info for myfile\n" +
                    "creation date of myinfo";
            ScriptEngine scriptEngine = new ScriptEngineManager().getEngineByName("AppleScript");
            final GregorianCalendar result = (GregorianCalendar) scriptEngine.eval(script);
            return result.getTime();
        }
    
    }
    

    【讨论】:

    • 这不是像 AppScript 这样的 Apple 事件桥,但它是我得到的最佳答案。谢谢。
    【解决方案2】:

    我不懂Java,但任何可以执行命令行工具的东西都可以使用osascript 执行AppleScript。我用它从 PHP 和 vim 脚本执行 AppleScripts。

    【讨论】:

    • 我正在寻找像 Appscript 这样的 Apple 事件桥,而不是类似“Runtime.exec()”的解决方法。 Python 中的 Appscript 允许执行以下操作:app('TextEdit').documents['ReadMe'].paragraphs[1].get().
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 2010-11-24
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多