2011-05-28 134 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