apache 압축 풀기 zip 와 sleep 프로그램 종료 문제

1628 단어 apache.thread
이틀 전에 썼어 요.
http://wcf1987.iteye.com/admin/blogs/894160
apache 압축 풀기 zip 가방 을 이용 한 것 으로 대체적으로 실험 이 정상 적 이 었 으 나 압축 을 푸 는 zip 에 빈 폴 더 가 포함 되 어 있 으 면 문제 가 발생 할 수 있 습 니 다.
  zipEntry = (ZipArchiveEntry) en.nextElement();    
                if (zipEntry.isDirectory()) {      
        // mkdir directory      
        String dirName = zipEntry.getName();   

 zipEntry 가 디 렉 터 리 일 때 (zip 에 빈 디 렉 터 리 가 있 을 때 zipEntry 는 이 디 렉 터 리 를 가리 키 지만) zipEntry. isDirectory () 는 이 디 렉 터 리 를 제대로 식별 하지 못 하고 파일 이 라 고 생각 합 니 다.
   해결 방안
String s=zipEntry.getName();
				if (s.endsWith(File.separator)) {   

 
zipEntry 에서 그의 name 속성 을 볼 수 있 습 니 다. 이것 은 디 렉 터 리 (마지막 으로 / 끝) 이기 때문에 이 부분 코드 는 위 와 같이 수정 되 었 습 니 다.나중에 스트레스 풀 고 정상 이 야.
 
 
	/**
	 * stop the thread
	 */
	public void stopThread() {
		shutdownRequested = false;
		this.interrupt();
					

	}
	/**
	 * the thread sleep for reducing the system pressure
	 * 
	 * @param time
	 */
	private void sleepTime(int time) {

		try {	Thread.sleep(time * 1000);
		} catch (InterruptedException e) {
			return;
			// TODO Auto-generated catch block
			
		}

	}

 
이것 은 이틀 동안 스 레 드 sleep 에 관 한 것 이지 만 외부 호출 정지 방법 이 필요 합 니 다. 쉽게 말 하면 stop 방법 에서 interrupt 에서 스 레 드 를 깨 우 고 sleep 방법 에서 catch Interrupted Exception e 를 사용 한 다음 에 돌아 오 는 것 입 니 다.

좋은 웹페이지 즐겨찾기