ZipInputStream은 중국 파일 이름을 압축하지 못했습니까? 문자를 올바르게 설정하는 방법은 무엇입니까?
중국 파일 이름 및 솔루션의 ZipinputStream 압축
많은 개발자들은 종종 ZipInputStream
사용하여 중국 파일 이름 또는 폴더 이름을 포함하는 압축 패키지를 압축하여 압축 실패로 이어지고 "Ollformed Input off : 1, 길이 : 1"과 같은 오류를 프롬프트합니다. 이 기사는이 문제를 깊이 분석하고 효과적인 솔루션을 제공합니다.
문제의 루트는 ZipInputStream
생성자에 지정된 문자 세트가 파일 내부에서 인코딩하는 파일 이름을 압축하는 데 사용되지 않고 Zip 파일 자체의 중앙 디렉토리 정보를 읽는 데 사용된다는 것입니다. 중앙 디렉토리의 인코딩은 압축 패키지가 생성되는 환경과 운영 체제에 따라 다릅니다. Windows 시스템은 일반적으로 GB2312 또는 GBK 인코딩을 사용하는 반면 MacOS 및 Linux 시스템은 일반적으로 UTF-8 인코딩을 사용합니다.
따라서 Zip 압축 패키지가 Windows에서 작성되면 GBK를 사용하여 중앙 디렉토리가 인코딩 될 수 있습니다. UTF-8 인코딩이 코드에 지정 되더라도 ZipInputStream
여전히 GBK 인코딩 중앙 디렉토리를 올바르게 구문 분석하지 못하여 감압 고장이 발생합니다.
해결책:
Windows Systems에서 생성 된 zip 패키지의 경우 GBK 인코딩을 사용하여 중앙 디렉토리를 읽는 것이 좋습니다.
fileInputStream input = 새로운 FileInputStream (TargetPath); ZipInputStream ZipInputStream = 새로운 ZipInputStream (새로운 bufferedInputStream (입력), charset.forname ( "gbk"));
GBK 인코딩은 GB2312와 호환 되므로이 방법은 GB2312 인코딩의 중앙 디렉토리에도 적용됩니다.
크로스 플랫폼 솔루션 :
보다 강력한 크로스 플랫폼 호환 코드를 작성하려면 Apache Commons Compress 라이브러리가 권장됩니다. 이 라이브러리는보다 강력한 압축/감압 기능을 제공하여 다양한 인코딩의 zip 압축 패키지를 자동으로 처리 할 수 있으며, 문자 세트 차이로 인한 감압 고장을 효과적으로 피할 수 있습니다. 다른 코드의 중앙 디렉토리 정보를 자동으로 감지하고 처리하고 개발 프로세스를 단순화하며 코드의 신뢰성을 향상시킬 수 있습니다.
위 내용은 ZipInputStream은 중국 파일 이름을 압축하지 못했습니까? 문자를 올바르게 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux는 풍부한 도구와 커뮤니티 지원을 제공하는 기본 플랫폼이기 때문에 Docker는 Linux에서 중요합니다. 1. Docker 설치 : Sudoapt-Getupdate 및 Sudoapt-GetInstalldocker-Cedocker-Ce-clicotainerd.io를 사용하십시오. 2. 컨테이너 생성 및 관리 : Dockerrun-D-Namemynginx-P80 : 80nginx와 같은 Dockerrun 명령을 사용하십시오. 3. Dockerfile 쓰기 : 이미지 크기를 최적화하고 다단계 구성을 사용하십시오. 4. 최적화 및 디버깅 : DockerLogs 및 Dockerex를 사용하십시오

MACOS의 기본 작업에는 응용 프로그램 시작, 파일 관리 및 시스템 설정 사용이 포함됩니다. 1. 응용 프로그램 시작 : 터미널 명령 "Open-Asafari"를 사용하여 Safari 브라우저를 시작하십시오. 2. 파일 관리 : Finder를 통해 파일을 탐색하고 구성합니다. 3. 시스템 설정 사용 : 도크 및 런치 패드의 기능을 이해하여 운영 효율성을 향상시킵니다. 이러한 기본 작업을 통해 MacOS 사용 방법을 신속하게 마스터 할 수 있습니다.

MACOS는 보안, 개인 정보 보호 및 신뢰성에서 우수한 성과를 거두고 있습니다. 1) 보안은 샌드 박스 기술, GateKeeper 및 XProtect와 같은 다층 방어 전략을 통해 보호됩니다. 2) 개인 정보 보호를 통해 사용자는 TCC 프레임 워크를 통해 응용 프로그램의 민감한 데이터에 대한 액세스를 제어 할 수 있습니다. 3) 신뢰성은 정기적 인 업데이트 및 Timemachine 백업을 통해 시스템의 안정적인 작동을 보장합니다.

Ouyi Exchange 앱은 Apple 휴대 전화 다운로드를 지원하고, 공식 웹 사이트를 방문하고, "Apple Mobile"옵션을 클릭하고, App Store에 입력하고 설치하고, Cryptocurrency 거래를 수행하려면 등록 또는 로그인합니다.

MaintenanceModeInlinlinlinuxisspecialbootenvernmentforcriticalsystemmaintenancetasks.itallowsAdministratorStorformtaskSlikeresettingpasswords, Repairingfilesystems, Andrecoveringfrombootfailuresinaminimalenvernment.toentermaintingancemode, intermainteancemode

Linux에서 파일 및 디렉토리 관리는 LS, CD, MKDIR, RM, CP, MV 명령을 사용하며 권한 관리는 CHMOD, Chown 및 CHGRP 명령을 사용합니다. 1. 파일 및 디렉토리 관리 명령 LS-L 목록 상세 정보와 같은 MKDIR-P는 디렉토리를 재귀 적으로 생성합니다. 2. CHMOD755FILE SET 파일 권한 설정, ChownUserFile 변경 파일 소유자 및 CHGRPGROUPFILE와 같은 허가 관리 명령은 파일 그룹을 변경합니다. 이러한 명령은 파일 시스템 구조 및 사용자 및 그룹 시스템을 기반으로하며 시스템 호출 및 메타 데이터를 통해 작동 및 제어합니다.

Nginx와 Apache는 각각 고유 한 장점과 단점이 있으며 선택은 특정 요구에 기초해야합니다. 1.NGINX는 비동기 비 블로킹 아키텍처로 인해 높은 동시 시나리오에 적합합니다. 2. Apache는 모듈 식 설계로 인해 복잡한 구성이 필요한 저소성 시나리오에 적합합니다.

Binance 공식 웹 사이트를 방문하여 HTTPS 및 Green Lock 로고를 확인하여 피싱 웹 사이트를 피하면 공식 응용 프로그램에도 안전하게 액세스 할 수 있습니다.
