如何在Mac上找到TextEdit?

时间:2016-08-03 15:54:38

标签: java macos textedit

我的Java应用程序将检测文件扩展名并使用wordpad在Windows中打开它,如下所示:

  public static Process Display_File(String File_Path)
  {
    String Command,Program,Suffix=File_Path.toLowerCase();
    Process process=null;

    if (Suffix.endsWith("txt") || Suffix.endsWith("json")) Program="C:\\Program Files (x86)\\Windows NT\\Accessories\\word_pad.exe ";

    Command=Program+"\""+File_Path+"\"";

    try { process=Runtime.getRuntime().exec(Command); }
    catch (Exception e) { e.printStackTrace(); }

    return process;
  }

但它在Mac上不起作用,我知道Mac上有TextEdit.app,那么如何更改上面的代码才能在Mac上运行呢?

更改后,它看起来像这样:

  public static Process Display_File_On_Mac(String File_Path)
  {
    String Command,Program,Suffix=File_Path.toLowerCase();
    Process process=null;

    if (Suffix.endsWith("txt") || Suffix.endsWith("json")) Program="/Applications/TextEdit.app ";

    Command=Program+"\""+File_Path+"\"";

    try { process=Runtime.getRuntime().exec(Command); }
    catch (Exception e) { e.printStackTrace(); }

    return process;
  }

但我收到了这个错误:

java.io.IOException: Cannot run program "/Applications/TextEdit.app": error=13, Permission denied

如何解决?

2 个答案:

答案 0 :(得分:0)

在El-capitan上,给出了以下路径: Program="open /Applications/TextEdit.app/Contents/MacOS/TextEdit";

您可以从终端窗口导航到TextEdit.app文件夹,并确保在尝试之前将可执行文件放在正确的位置。

此外,您需要更改命令的设置,如下所示: Command = Program+ " "+File_Path;

答案 1 :(得分:0)

启动 macOS Catalina 系统应用程序移至 /System/Applicityions 文件夹:https://support.apple.com/HT210650

所以,TextEdit 的新路径是 /System/Applications/TextEdit.app/Contents/MacOS/TextEdit