2013-04-16 2 views
0

JAR 파일 조작에 대한 숙제를하고 있습니다. JAR 파일의 파일을 삭제할 수 있지만 폴더는 아직 삭제되어 있습니다.Jar 파일에서 폴더를 삭제하는 방법?

어떻게 삭제합니까?

+0

더 나은 도움을 받으려면 [SSCCE] (http://sscce.org/)에 현재 코드를 게시하십시오. BTW - AFAIU - Zip 파일 (및 Jars)에는 '폴더'가 포함되어 있지 않습니다. –

+0

오류가 발생하여 폴더도 삭제 하시겠습니까? – EJP

답변

0

이 작업을 수행 할 코드가 없지만 기본 개념은 간단하며 거의 모든 언어로 동일한 방식으로 변환해야합니다. jar 파일 레이아웃은 파일 (헤더와 압축 된 데이터)을 나타내는 일련의 블록으로, 모든 메타 데이터 만 포함하는 중앙 디렉토리로 완성됩니다. 과정은 다음과 같습니다.

삭제하려는 첫 번째 파일을 찾을 때까지 파일에서 앞으로 스캔하십시오. 삭제하지 않으려는 첫 번째 파일을 찾거나 중앙 디렉토리에 도달 할 때까지 파일에서 앞으로 스캔하십시오. 삭제하려는 첫 번째 파일을 찾거나 중앙 디렉토리를 찾을 때까지 파일에서 앞으로 스캔합니다. 삭제할 다른 파일을 찾거나 중앙 디렉토리를 찾을 때까지 3 단계에서 찾은 모든 데이터를 2 단계에서 건너 뛴 데이터로 다시 복사하십시오. 중앙 디렉터리에 도달하지 않으면 2 단계로 이동하십시오. 중앙 디렉터리를 복사를 중단 한 위치로 복사하고 삭제 된 파일의 항목을 제외하고 각 파일의 이동량을 반영하도록 오프셋을 변경합니다. ZIP 파일 구조에 대한 자세한 내용은 http://en.wikipedia.org/wiki/ZIP_%28file_format%29을 참조하십시오.

오류가 발생할 경우 데이터 손실을 막기 위해 다른 파일로 복사를 수행하는 것이 좋습니다.

관련 문제