2014-11-12 2 views
0

이것은 명백한 질문 일 수 있지만 답변을 찾지 못하는 것 같습니다.TrueZip을 사용하여 ZIP 아카이브를 읽을 수있는 플랫폼 독립적 인 방법

우리는 TrueZip 7.7.1을 사용하고 ZIP 파일의 인스턴스를 만들어 ZIP 아카이브를 읽습니다. 항목이나 입력 스트림을 ZipFile에서 가져올 때 생성 된 파일 시스템의 경로 구분 기호를 포함 할 수있는 항목 이름을 지정해야합니다. 현재 구현은 순진하고 JVM에서 제공하는 File.separator를 사용하지만 아카이브가 다른 구분 기호로 파일 시스템에서 작성된 경우에는 작동하지 않습니다.

분명히 File.separator 또는 "/"두 플랫폼 중 하나를 사용할 수 있으므로 TPath를 사용하여이 작업을 수행 할 수있는 방법이있는 것처럼 보입니다.

TrueZip 7.7.1을 사용하는 플랫폼 독립적 인 manor에서 ZIP 아카이브를 읽는 가장 좋은 방법은 무엇입니까?

답변

3

는 ZIP 파일 포맷 규격 (link)에 따르면, 모든 경로는 '/'(독립 따라서되는 플랫폼)에 저장되어야한다

4.4.17.1 선택적 상대 경로와 파일 이름, . 저장된 경로에 드라이브 또는 장치 문자 또는 선행 슬래시가 포함되어서는 안됩니다. 모든 슬래시 은 Amiga 및 UNIX 파일 시스템 등과의 호환성을 위해 백 슬래시 '\'와 반대되는 슬래시 '/'이어야합니다. 입력이 표준 입력에서 나온 경우에는 파일 이름 필드가 없습니다.

그렇다면이 컨벤션에 충실한다면 전혀 실행중인 플랫폼에 대해 걱정할 필요가 없습니다.

+0

동의 - 방금 찾은 내용 - 현재 사양은 http://www.pkware.com/documents/casestudies/APPNOTE.TXT입니다. 링크 된 버전보다 나중에 하나의 버전이 있지만 그 섹션은 다음과 같습니다. 양자 모두. –

관련 문제