2016-08-03 14 views
0

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?

+0

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

+0

versuchen, Ausführen von Berechtigungen auf TextEdit App geben an den Benutzer, von dem Sie Java-Programm ausführen – Sanjeev

+0

Wenn Sie eine Textdatei öffnen möchten, erstellen Sie einen Prozess: Öffnen Sie PATHTOFILE und es wird geöffnet. – ifly6

Antwort

0

Auf El-Capitan, der unter Pfad geben für mich gearbeitet: Program="open /Applications/TextEdit.app/Contents/MacOS/TextEdit";

Sie können die TextEdit.app Ordner von einem Terminalfenster Navigieren in und stellen Sie sicher, dass Sie die ausführbare Datei an der richtigen Stelle haben, bevor es auszuprobieren.

Außerdem müssen Sie die Einstellung von Befehl wie folgt ändern: Command = Program+ " "+File_Path;

+0

Ich habe es versucht, scheint auf halbem Weg zu arbeiten, die TextEdit App sprang auf und ab zeigte eine Nachricht, sagte die Datei konnte nicht geöffnet werden, weil es nicht existiert, aber ich habe nur überprüft, die Datei existiert in dem Verzeichnis ist es schau, warum? Wie repariert man ? – Frank

+0

müssen Sie die Einstellung des Befehls wie folgt ändern: 'Command = Program +" "+ File_Path;'. Das heißt, der Aufruf sollte der Name des Programms sein, gefolgt von einem Leerzeichen und dann dem FullPath. – Bajal

+0

Nun sieht der Befehl folgendermaßen aus: /Applications/TextEdit.app/Contents/MacOS/TextEdit/Users/fni/Documents/workspace/URL_Size/Result.txt aber es öffnet sich ein Fehlerdialog, der besagt, dass ich keine Berechtigung habe, aber der Datei ist auf rwx für alle einschließlich mir eingestellt, warum? – Frank