2011-05-28 136 views

回答

2

下面是一个适用于我在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(); 
    } 

} 
+0

这不是像AppScript这样的Apple事件桥梁,但它是我得到的最佳答案。谢谢。 – Maroloccio 2012-03-21 14:57:47

0

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

+0

我正在寻找像AppleScript这样的Apple事件桥,而不是“类似于Runtime.exec()”的解决方法。在Python中的Appscript允许像:app('TextEdit').documents ['ReadMe']。段落[1] .get()。 – Maroloccio 2011-05-29 03:46:29