Meine Java App Dateierweiterung erkennen und sie in Windows öffnen wordpad verwenden, wie folgt aus:Wie finde ich TextEdit auf dem Mac?
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;
}
Aber es wird auf dem Mac nicht funktioniert, ich weiß, es ist TextEdit.app auf Mac, so wie sich ändern der obige Code, um es auf dem Mac zu laufen?
Nach dem Wechsel, sieht es wie folgt aus:
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;
}
Aber ich habe diesen Fehler:
java.io.IOException: Cannot run program "/Applications/TextEdit.app": error=13, Permission denied
Wie es zu beheben?
Beachten Sie, dass „\“ ist ein Windows-spezifischer Separator, während als Macs „/“ verwenden. Versuchen Sie das zu ändern und sehen Sie, ob es funktioniert. EDIT: Und stellen Sie sicher, dass Programm auf den richtigen Pfad auf einem Mac eingestellt ist, die nicht auf Windows als erste Sache zuerst übereinstimmen, ich glaube nicht, Macs haben einen Ordner mit dem Namen Programm Dateien – SomeStudent
versuchen, Ausführen von Berechtigungen auf TextEdit App geben an den Benutzer, von dem Sie Java-Programm ausführen – Sanjeev
Wenn Sie eine Textdatei öffnen möchten, erstellen Sie einen Prozess: Öffnen Sie PATHTOFILE und es wird geöffnet. – ifly6