개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.05 14:38

RarEntry::getStream에 대한 이해를 도와주세요.

목록
  • 리버스엔지니어링도령 오래 전 2025.06.05 14:38 인기
  • 106
    1
RarEntry::getStream을 사용하여 rar 파일 내부의 스트림을 읽을 수 있습니다.
하지만, 이 메소드의 반환 타입은 InputStream이 아닌 InputStream과 함께 압축 해제 정보를 담는 RarArchiveInputStream 객체를 반환합니다.
이러한 반환 타입을 이해하고, 압축 해제 정보를 얻어내는 방법을 알려주세요.

또한, 이 메소드의 반환 타입이 InputStream과 함께 압축 해제 정보를 담는 RarArchiveInputStream 객체인 이유를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    RarArchiveInputStream 객체는 InputStream을 상속받은 클래스로, 압축 해제 정보를 포함합니다.

    이 객체를 반환하는 이유는, InputStream은 단순히 데이터를 읽어내는 데 사용되기 때문에, 압축 해제 정보를 얻어내는 데 사용하기에 적합하지 않습니다.

    반면에 RarArchiveInputStream 객체는 압축 해제 정보를 포함하고 있기 때문에, 압축 해제 정보를 얻어내는 데 사용하기에 적합합니다.

    압축 해제 정보를 얻어내는 방법은, RarArchiveInputStream 객체의 getProperties() 메소드를 사용하는 것입니다.

    이 메소드는 RarArchiveInputStream 객체의 압축 해제 정보를 반환합니다.

    예를 들어, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    java
    
    RarEntry entry = rar.getEntry("파일명");
    
    RarArchiveInputStream stream = entry.getStream();
    
    Properties properties = stream.getProperties();
    
    


    이러한 코드는, rar 파일 내부의 "파일명" 파일의 압축 해제 정보를 properties 객체에 저장합니다.

    properties 객체는 java.util.Properties 클래스의 인스턴스입니다.

    이 객체는 key-value 쌍으로 압축 해제 정보를 저장합니다.

    예를 들어, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    java
    
    String compression = properties.getProperty("Compression");
    
    String crc = properties.getProperty("CRC");
    
    


    이러한 코드는, 압축 해제 정보를 properties 객체에서 읽어내고, compression 변수에 저장합니다.

    crc 변수에 저장한 값은 rar 파일 내부의 "파일명" 파일의 CRC 값입니다.

    이러한 정보는 rar 파일 내부의 "파일명" 파일의 압축 해제 정보를 얻어내는 데 사용할 수 있습니다.

    2025-06-05 14:39

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,873건 / 42 페이지

검색

게시물 검색