mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-09-03 04:26:12 +08:00
Make JarFile.size() return the number of entries in the jar
Closes gh-12195
This commit is contained in:
parent
146858505f
commit
746cc0f70b
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2017 the original author or authors.
|
* Copyright 2012-2018 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -108,7 +108,7 @@ public class JarFile extends java.util.jar.JarFile {
|
|||||||
|
|
||||||
private JarFile(RandomAccessDataFile rootFile, String pathFromRoot,
|
private JarFile(RandomAccessDataFile rootFile, String pathFromRoot,
|
||||||
RandomAccessData data, JarEntryFilter filter, JarFileType type)
|
RandomAccessData data, JarEntryFilter filter, JarFileType type)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
super(rootFile.getFile());
|
super(rootFile.getFile());
|
||||||
this.rootFile = rootFile;
|
this.rootFile = rootFile;
|
||||||
this.pathFromRoot = pathFromRoot;
|
this.pathFromRoot = pathFromRoot;
|
||||||
@ -293,7 +293,7 @@ public class JarFile extends java.util.jar.JarFile {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int size() {
|
public int size() {
|
||||||
return (int) this.data.getSize();
|
return this.entries.getSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2016 the original author or authors.
|
* Copyright 2012-2018 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -121,6 +121,10 @@ class JarFileEntries implements CentralDirectoryVisitor, Iterable<JarEntry> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int getSize() {
|
||||||
|
return this.size;
|
||||||
|
}
|
||||||
|
|
||||||
private void sort(int left, int right) {
|
private void sort(int left, int right) {
|
||||||
// Quick sort algorithm, uses hashCodes as the source but sorts all arrays
|
// Quick sort algorithm, uses hashCodes as the source but sorts all arrays
|
||||||
if (left < right) {
|
if (left < right) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2017 the original author or authors.
|
* Copyright 2012-2018 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -31,6 +31,7 @@ import java.util.jar.JarEntry;
|
|||||||
import java.util.jar.JarInputStream;
|
import java.util.jar.JarInputStream;
|
||||||
import java.util.jar.Manifest;
|
import java.util.jar.Manifest;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
|
import java.util.zip.ZipFile;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
@ -169,7 +170,9 @@ public class JarFileTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSize() throws Exception {
|
public void getSize() throws Exception {
|
||||||
assertThat(this.jarFile.size()).isEqualTo((int) this.rootJarFile.length());
|
try (ZipFile zip = new ZipFile(this.rootJarFile)) {
|
||||||
|
assertThat(this.jarFile.size()).isEqualTo(zip.size());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Loading…
Reference in New Issue
Block a user