Commit f7127e55 authored by Andy Wilkinson's avatar Andy Wilkinson

Ensure that closing a JarFile closes all underlying resources

Closes gh-8871
parent 50876382
...@@ -298,6 +298,7 @@ public class JarFile extends java.util.jar.JarFile { ...@@ -298,6 +298,7 @@ public class JarFile extends java.util.jar.JarFile {
@Override @Override
public void close() throws IOException { public void close() throws IOException {
super.close();
this.rootFile.close(); this.rootFile.close();
} }
......
/* /*
* Copyright 2012-2016 the original author or authors. * Copyright 2012-2017 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.
...@@ -469,4 +469,13 @@ public class JarFileTests { ...@@ -469,4 +469,13 @@ public class JarFileTests {
} }
} }
@Test
public void jarFileCanBeDeletedOnceItHasBeenClosed() throws Exception {
File temp = this.temporaryFolder.newFile();
TestJarCreator.createTestJar(temp);
JarFile jf = new JarFile(temp);
jf.close();
assertThat(temp.delete()).isTrue();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment