问题
To call AppleScript from Python, I use the "appscript" bridge:
http://appscript.sourceforge.net/
What can I use to call AppleScript from Java on Mac OS X 10.6+?
回答1:
Here's an approach that works for me for Java on Mac OS X 10.6+. This example script fetches the creation date of the current folder:
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();
}
}
回答2:
I don't know Java, but anything that can execute a command line tool can execute an AppleScript using osascript. I use it to execute AppleScripts from PHP and vim scripts.
来源:https://stackoverflow.com/questions/6159719/applescript-from-java-on-mac-os-x-10-6