Удивительно просто (больше, чем попытка сделать это в Windows, это точно).
Итак, после некоторого начального исследования я наткнулся на Уловки оболочки: команда OS X open , это важно, потому что почти все решения предлагают использовать open -a Finder {file\folder}
, что не совсем то, что я хотел (он откроет файл в редакторе Finder (я использовал текстовый файл для тестирования))
Вместо этого предлагается использовать open -R {file/folder}
Следующей задачей была попытка выяснить, можно ли вызвать open
из Java, я подумал, что сначала мне придется выполнить его через оболочку, но это оказалось не обязательным.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) throws IOException, InterruptedException {
String command[] = new String[]{"open", "-R", {your file or folder}};
ProcessBuilder pb = new ProcessBuilder(command);
pb.inhertIO();
pb.redirectErrorStream(true);
Process p = pb.start();
int exitCode = p.waitFor();
System.out.println(exitCode);
}
}
Я проверял это как на файлах, так и на папках
Я также проверял Desktop.getDesktop().browse
, но у меня не было таких же результатов, как увыше (больше похоже на open -a Finder {file/folder}
)