"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JarOutputStream을 사용하여 JAR 파일을 생성할 때 문서화되지 않은 문제를 피하는 방법은 무엇입니까?

JarOutputStream을 사용하여 JAR 파일을 생성할 때 문서화되지 않은 문제를 피하는 방법은 무엇입니까?

2025-01-27에 게시됨
검색:207

How to Avoid Undocumented Quirks When Using JarOutputStream to Create JAR Files?

1. 슬래시로 끝나는 디렉토리 :

jar 파일의 디렉토리 이름은 '/'슬래시로 끝나야합니다.

2. 전방 슬래시를 사용하는 경로 :

Backslashes '\'. 입력 이름의 주요 슬래시가 없음 :

입력 이름은 '/'슬래시로 시작해서는 안됩니다.

예제 코드는 다음과 같습니다. ] 다음 수정 된 코드는 매니페스트 파일로 유효한 JAR 파일을 구성합니다. Manifest Manifest = New Manifest (); manifest.getMainattributes (). put (attributes.name.manifest_version, "1.0"); jaroutputStream target = new jaroutputStream (new FileOutputStream ( "output.jar"), Manifest); 추가 (새 파일 ( "inputDirectory"), target); target.close (); } private void add (파일 소스, jaroutputstream target)가 ioexception { 문자열 이름 = source.getPath (). replace ( "\\", "/"); if (source.isdirectory ()) { if (! name.endswith ( "/")) { 이름 = "/"; } Jarentry Entry = New Jarentry (이름); EntrySettime (source.lastModified ()); target.putNextEntry (Entry); target.closeentry (); for (file nestedFile : source.listfiles ()) { 추가 (NestedFile, Target); } } 또 다른 { Jarentry Entry = New Jarentry (이름); EntrySettime (source.lastModified ()); target.putNextEntry (Entry); try (bufferedInputStream in = new bufferedInputStream (new FileInputStream (source))) { 바이트 [] 버퍼 = 새로운 바이트 [1024]; while (true) { int count = in.read (버퍼); if (count == -1) { 부서지다; } target.write (버퍼, 0, count); } target.closeentry (); } } }

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3