Applescipt의 도움없이 Java로 Finde-Selection을 직접 가져올 수 있습니까? 기본적으로 Java에서 osascript를 실행하여 파인더 선택을 문자열로 전달하는 또 다른 AppleScript를 호출합니다. 고마워.Applescript의 도움없이 Java에서 직접 파인더 선택 받기
import java.io.*;
public class FinderSelection {
public static void main(String [] args) throws IOException {
String[] cmd = { "osascript", "-e", "run script \"FinderSelection.scpt\" as POSIX file" };
InputStream is = Runtime.getRuntime().exec(cmd).getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader buff = new BufferedReader (isr);
String line;
while((line = buff.readLine()) != null)
System.out.println(line);
}
}
FinderSelection.scpt
tell application "Finder"
set theSelection to selection
set item1 to POSIX path of (item 1 of the theSelection as alias) as string
end tell
** 수정 **
나는 도서관을했다. 그것을 here on github으로 얻을 수 있습니다.
당신은 외부 AppleScript로 파일을 제거하고이 줄을 사용하는데하여 코드를 단순화 할 수
은 다른 값이 주어진 문자열 줄입니까? 화면에 인쇄 할 위치를 알려주지 만 가치는 부여되지 않았습니다. –
나는 또한 입력 스트림 주위에 try/catch 블럭을 두어 던지며 예외를 잡아 내지는 않는 것이 나쁜 생각이다. –
글쎄, 여기는 단순화 된 버전이며, 나에게도 효과적이다. 예상되는 결과도 얻는다. 하지만 문제는 애플 스크립트의 도움이없는 방법이 있다면, 아마도 i/o를 사용하는 것일까 요? – domizai