주어진 파일에 대해 시스템 기본 편집기를 여는 방법을 찾으려고합니다.주어진 파일에 대해 사용자 시스템 기본 편집기를 여는 방법은 무엇입니까?
말은 자바로 작성된 파일 관리자입니다. 사용자가 폴더로 이동하여 파일 목록을 봅니다. 예를 들어 파일 Icon.jpg
이 있습니다. 사용자가 파일 이름을 두 번 클릭하면 시스템의 기본 편집기 (예 : 김프)에서 파일이 열립니다. 주요 쟁점은 - 그것을하는 방법?
우리는 Runtime.getRuntime().exec("something file")
을 할 수 있지만 사용자 환경에서 어떤 프로그램이 선호되는지 알아야합니다. 그러나 어떻게?
Desktop.getDesktop().edit(File file)
도 수행 할 수 있지만이 방법으로는 프로세스를 추적 할 수 없으며이 하위 프로세스가 종료되었음을 알 수 없습니다. 다른 문제 - 리눅스에서는 (적어도 우분투 8.10에서는) 함수가 작동하지 않습니다. Desktop.getDesktop().open(File file)
도 있지만 해당 파일 형식의 시스템 뷰어 대신 파일 뷰어를 강제로 열어야합니다.
저는 일주일 내내 해결책을 찾고 있지만 적합하고 일반적인 것을 찾지 못했습니다. 이 질문에 대한 다른 접근법을 알고 있습니까? 내 프로젝트의 경우 Windows + Linux + Mac에서 작동한다면 충분할 것입니다.
답장을 보내 주셔서 감사합니다. 2009년 2월 8일 23시 4분
다른 제안에
가편집 : "파일 열기"와 맥에서와 마찬가지로, 윈도우와 리눅스에서 "응용 프로그램 선택"창을 강제 할 수 있습니까? 예를 들어, 파일을 열려고하면 시스템 선호 목록에서 응용 프로그램을 선택하라는 메시지가 표시됩니까? (Windows 탐색기에서 "Open with ..."과 같은). 아십니까?
다른 제안 : 나는 맥과 윈도우와 리눅스에서 "응용 프로그램 선택"창을 강제 할 수 있습니까? 예를 들어 파일을 열려고하면 시스템 목록에서 응용 프로그램을 선택하라는 메시지가 나타납니다. (Windows 탐색기에서 "Open with ..."과 같은 것). 알고 계십니까? –