Ich habe versucht zu verwenden
Runtime.getRuntime().exec("Here_I_am.txt");
Aber erhalte einen Fehler, der das sagt Here_I_am.txt
ist keine Win32-Anwendung.
Ich sollte also wissen, welches Programm ausgeführt wird, wenn der Benutzer einfach auf klickt .extension
Datei.
Wie standardmäßig für txt
es wird sein Notepad.exe
.
Also - wie kann ich diese Informationen bekommen?
P.S.
Ich bin sicher, dass diese App unter Linux nicht verwendet wird.
Antworten:
1 für die Antwort № 1Sie müssen es über die Befehlsshell aufrufen:
Runtime.getRuntime().exec("cmd /c Here_I_am.txt");
1 für die Antwort № 2
Sie könnten verwenden Desktop.open(File)
1. Wenn Sie die in einem bestimmten Ordner (wie dem Home-Verzeichnis) abrufen müssen, können Sie auch hinzufügen System.getProperty("user.home")
. So etwas wie,
File file = new File(System.getProperty("user.home"), "Here_I_am.txt");
try {
System.out.printf("File path %s%n", file.getCanonicalPath());
Desktop.getDesktop().open(file);
} catch (IOException e) {
e.printStackTrace();
}
1Welches hat das kleine Vorteil dass es unter Windows, Linux und Mac funktioniert. Siehe auch Integrieren in die Desktopklasse.