자바 에서 컴퓨터 의 해당 프로그램 을 엽 니 다.
2680 단어 javaSE 기초 학습
자바 파일 열기
중국
발표 2014-08-27 22:27:43
자바 가 실 행 될 때 환경 과 windows 시스템 응용 프로그램 을 이용 하 는 두 가지 방법 이 있 습 니 다. 우선 윈도 우즈 에서 브 라 우 저 는 웹 페이지,txt,pdf 등 다양한 파일 을 열 수 있다 는 것 을 잘 알 고 있 습 니 다.그렇다면 IE 는 어떤 방식 으로 서로 다른 파일 을 서로 다른 소프트웨어 로 열 수 있 습 니까? 사실 url.dll 이라는 동적 링크 라 이브 러 리 가 있 습 니 다.url.dll 은 IE 호출 각종 응용 프로그램 을 제공 하여 서로 다른 파일 을 열 수 있 습 니 다.IE 가 이러한 기능 을 제공 한 이상 우 리 는 자바 프로그램 에서 그것 을 이용 할 수 있다.그렇다면,우 리 는 어떻게 자바 프로그램 에서 동적 링크 라 이브 러 리 를 호출 합 니까?windows 시스템 은 Rundll 32.exe 라 는 파일 을 제공 합 니 다.DLL 파일 의 내부 함 수 를 실행 하 는 역할 을 합 니 다.프로 세 스 에 서 는 DLL 뒷문 프로 세 스 가 없 는 rundll 32.exe 만 있 을 뿐 프로 세 스 의 숨겨 진 부분 을 실현 합 니 다.rundll 32.exe 의 구체 적 인 사용 방법 은 다음 과 같 습 니 다.Rundll 32.exe DLLname,Function name[Arguments]DLLname 은 실행 할 DLL 파일 이름 입 니 다.Function name 은 앞에서 실행 해 야 할 DLL 파일 의 구체 적 인 끌 어 내기 함수 입 니 다.[Arguments s 는 함수 의 구체 적 인 매개 변 수 를 끌 어 내기 위 한 것 입 니 다.url.dll 과 rundll 32.exe 를 결합 하면 명령 행 에서 해당 프로그램 을 시작 하여 해당 문 서 를 열 수 있 습 니 다.제 가 pdf 문 서 를 가지 고 있다 고 가정 하면 c:est.pdf 에 저장 할 수 있 습 니 다.명령 줄 을 열 고 다음 명령 을 실행 합 니 다:rundll 32 url.dll FileProtocolHandler file://c:est.pdf 자,우 리 는 해당 문 서 를 열기 위해 명령 을 어떻게 실행 하 는 지 알 고 있 습 니 다.그럼 자바 코드 에서 호출 하 는 것 도 간단 합 니 다.여기 서 우 리 는 자바 가 실 행 될 때 환경 을 사용 해 야 한다.모든 자바 응용 프로그램 은 런 타임 클래스 의 인 스 턴 스 를 가지 고 프로그램 이 실행 중인 환경 과 연결 할 수 있 도록 합 니 다.현재 실행 중인 시간(java.lang.Runtime)을 getRuntime 방법 으로 가 져 올 수 있 습 니 다.이것 은 단독 프로 세 스에 서 지정 한 문자열 명령 을 실행 할 수 있 는 exec(String command)방법 이 있 습 니 다.이것 으로 윈도 우즈 프로그램 을 호출 할 수 있 습 니 다.다음 호출:
String cmd="rundll32 url.dll FileProtocolHandler file://c: est.pdf";//
Process p = Runtime.getRuntime().exec(cmd);// ,
이제 우 리 는 통 일 된 방식 으로 문 서 를 여 는 방법 을 실현 했다.IE 가 열 수 있 는 문서 만 있 으 면 이 자바 프로그램 은 열 수 있 습 니 다.2.Desktop 을 이용 하여 구현 java.awt.Desktop 클래스 는 이 컴퓨터 데스크 톱 에 등 록 된 관련 프로그램 을 시작 하여 URI 나 파일 을 처리 할 수 있 도록 합 니 다. 지원 하 는 동작 은 다음 과 같 습 니 다. 사용자 기본 브 라 우 저 를 시작 하여 지정 한 URI 표시 하기; 선택 가능 한 mailto URI 가 있 는 사용자 기본 메 일 클 라 이언 트 시작 하기; 지정 한 파일 을 열 거나 편집 하거나 인쇄 하기 위해 등 록 된 프로그램 을 시작 합 니 다.이러한 조작 에 대응 하 는 방법 을 제공한다.이 방법 들 은 현재 플랫폼 에 등 록 된 관련 프로그램 을 찾 고 이 프로그램 을 시작 하여 URI 나 파일 을 처리 합 니 다.관련 프로그램 이 없 거나 관련 프로그램 이 시작 되 지 않 으 면 이상 을 던 집 니 다.한편,응용 프로그램 이 URI 나 파일 형식 으로 등록 되 고 관련 응용 프로그램 을 등록,방문,시작 하 는 메커니즘 은 플랫폼 과 관련 이 있다.사용 방법 은 다음 과 같다.
Desktop desk=Desktop.getDesktop();
try
{
File file=new File("E: Java java .chm");// java
desk.open(file); // open(File f)
}catch(Exception e)
{
System.out.println(e.toString());
}
현재 플랫폼 에 등 록 된 파일 은 모두 이렇게 열 수 있 습 니 다.
이 글 은 완전히'개원 중국'에서 복 제 된 것 이다.