コード例 #1
0
ファイル: JarFile.java プロジェクト: kukaqin/spring-boot
 private RandomAccessData getArchiveData(
     CentralDirectoryEndRecord endRecord, RandomAccessData data) {
   long offset = endRecord.getStartOfArchive(data);
   if (offset == 0) {
     return data;
   }
   return data.getSubsection(offset, data.getSize() - offset);
 }
コード例 #2
0
ファイル: JarFile.java プロジェクト: kukaqin/spring-boot
 private List<JarEntryData> loadJarEntries(CentralDirectoryEndRecord endRecord)
     throws IOException {
   RandomAccessData centralDirectory = endRecord.getCentralDirectory(this.data);
   int numberOfRecords = endRecord.getNumberOfRecords();
   List<JarEntryData> entries = new ArrayList<JarEntryData>(numberOfRecords);
   InputStream inputStream = centralDirectory.getInputStream(ResourceAccess.ONCE);
   try {
     JarEntryData entry = JarEntryData.fromInputStream(this, inputStream);
     while (entry != null) {
       entries.add(entry);
       processEntry(entry);
       entry = JarEntryData.fromInputStream(this, inputStream);
     }
   } finally {
     inputStream.close();
   }
   return entries;
 }