자바 대응 하 는 windows 프로그램 을 시작 하여 대응 하 는 파일 을 엽 니 다.

2679 단어 자바

여기에 두 가지 방법 이 있다. 
1. 자바 가 실 행 될 때 환경 과 windows 시스템 응용 프로그램 을 이용 합 니 다.        우선 윈도 우즈 에서 브 라 우 저 는 웹 페이지, txt, pdf 등 다양한 파일 을 열 수 있다 는 것 을 잘 알 고 있 습 니 다.그렇다면 IE 는 어떤 방식 으로 서로 다른 파일 을 서로 다른 소프트웨어 로 열 수 있 습 니까?  사실 url. dll 이라는 동적 링크 라 이브 러 리 가 있 습 니 다. url. dll 은 IE 호출 각종 응용 프로그램 을 제공 하여 서로 다른 파일 을 열 수 있 습 니 다.IE 가 이러한 기능 을 제공 한 이상 우 리 는 자바 프로그램 에서 그것 을 이용 할 수 있다.그렇다면, 우 리 는 어떻게 자바 프로그램 에서 동적 링크 라 이브 러 리 를 호출 합 니까?windows 시스템 은 Rundll 32. exe 라 는 파일 을 제공 합 니 다. DLL 파일 의 내부 함 수 를 실행 하 는 역할 을 합 니 다. 프로 세 스 에 서 는 DLL 뒷문 프로 세 스 가 없 는 rundll 32. exe 만 있 을 뿐 프로 세 스 의 숨겨 진 부분 을 실현 합 니 다.rundll 32. exe 의 구체 적 인 사용 방법 은 다음 과 같다.  Rundll32.exe DLLname,Functionname [Arguments] DLLname 은 실행 할 DLL 파일 이름 입 니 다.Function name 은 앞에서 실행 해 야 할 DLL 파일 의 구체 적 인 끌 어 내기 함수 입 니 다.[Arguments] 는 함 수 를 끌 어 내기 위 한 구체 적 인 매개 변수 입 니 다. url. dll 과 rundll 32. exe 를 결합 하면 명령 행 에서 해당 프로그램 을 시작 하여 해당 문 서 를 열 수 있 습 니 다. 제 가 pdf 문 서 를 가지 고 있다 고 가정 하면 c: est. pdf 에 저장 할 수 있 습 니 다.명령 줄 을 열 고 다음 명령 을 실행 합 니 다: rundll32 url.dll FileProtocolHandler file://c: est.pdf       자, 우 리 는 해당 문 서 를 열기 위해 명령 을 어떻게 실행 하 는 지 알 고 있 습 니 다.그럼 자바 코드 에서 호출 하 는 것 도 간단 합 니 다.여기 서 우 리 는 자바 가 실 행 될 때 환경 을 사용 해 야 한다.모든 자바 응용 프로그램 은 런 타임 클래스 의 인 스 턴 스 를 가지 고 프로그램 이 실행 중인 환경 과 연결 할 수 있 도록 합 니 다.현재 실행 중인 시간 (java. lang. Runtime) 을 getRuntime 방법 으로 가 져 올 수 있 습 니 다.이것 은 단독 프로 세 스에 서 지정 한 문자열 명령 을 실행 할 수 있 는 exec (String command) 방법 이 있 습 니 다. 이것 으로 윈도 우즈 프로그램 을 호출 할 수 있 습 니 다. 
public static void Runtime(String path) {   
		Runtime run Runtime.getRuntime();
	    String cmd = "rundll32 url.dll FileProtocolHandler file://"+path;
		try {
			run.exec(cmd);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "Erroe:"+path, "    ", JOptionPane.ERROR_MESSAGE); 
		}
	}

 
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());  
}  

 
전송:http://wujianjun0410.iteye.com/blog/944912

좋은 웹페이지 즐겨찾기