r2359 - in trunk/nuiton-utils/src: main/java/org/nuiton/util test/java/org/nuiton/util test/resources/zip
Author: tchemit Date: 2012-06-11 11:27:18 +0200 (Mon, 11 Jun 2012) New Revision: 2359 Url: http://nuiton.org/repositories/revision/nuiton-utils/2359 Log: fixes #2133: Add a ZipUtil#iszipFile method Added: trunk/nuiton-utils/src/test/resources/zip/not-a-zip.zip trunk/nuiton-utils/src/test/resources/zip/this-is-a-zip.zap Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/ZipUtil.java trunk/nuiton-utils/src/test/java/org/nuiton/util/ZipUtilTest.java Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/ZipUtil.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/ZipUtil.java 2012-06-11 08:36:27 UTC (rev 2358) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/ZipUtil.java 2012-06-11 09:27:18 UTC (rev 2359) @@ -532,6 +532,28 @@ } } + /** + * Tests if the given file is a zip file. + * + * @param file the file to test + * @return {@code true} if the file is a valid zip file, + * {@code false} otherwise. + * @throws IOException if could not open zip file + * @since 2.4.9 + */ + public static boolean isZipFile(File file) throws IOException { + + boolean result = false; + try { + ZipFile zipFile = new ZipFile(file); + zipFile.close(); + result = true; + } catch (IOException e) { + // silent test + } + return result; + } + protected static String convertToLocalEntryName(String txt) { String s = txt.replaceAll(ZIP_SEP_PATTERN, LOCAL_SEP_PATTERN); if (s.endsWith(ZIP_SEP)) { Modified: trunk/nuiton-utils/src/test/java/org/nuiton/util/ZipUtilTest.java =================================================================== --- trunk/nuiton-utils/src/test/java/org/nuiton/util/ZipUtilTest.java 2012-06-11 08:36:27 UTC (rev 2358) +++ trunk/nuiton-utils/src/test/java/org/nuiton/util/ZipUtilTest.java 2012-06-11 09:27:18 UTC (rev 2359) @@ -34,6 +34,7 @@ import java.io.File; import java.io.FileFilter; import java.io.IOException; +import java.net.URL; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -233,4 +234,38 @@ File ruleFile = new File(dest, "test-nonregression-20090203" + File.separator + "scripts" + File.separator + "RuleUtil.java"); Assert.assertFalse(ruleFile.exists()); } + + @Test + public void testIsZipFile() throws Exception { + + URL resource; + File file; + boolean actual; + + // a zip + resource = getClass().getResource("/zip/this-is-a-zip.zap"); + Assert.assertNotNull(resource); + file = new File(resource.toURI()); + Assert.assertNotNull(file); + actual = ZipUtil.isZipFile(file); + Assert.assertTrue(actual); + + // a zip + resource = getClass().getResource("/zip/test-uncompress.zip"); + Assert.assertNotNull(resource); + file = new File(resource.toURI()); + Assert.assertNotNull(file); + actual = ZipUtil.isZipFile(file); + Assert.assertTrue(actual); + + // not a zip + resource = getClass().getResource("/zip/not-a-zip.zip"); + Assert.assertNotNull(resource); + file = new File(resource.toURI()); + Assert.assertNotNull(file); + actual = ZipUtil.isZipFile(file); + Assert.assertFalse(actual); + + + } } Added: trunk/nuiton-utils/src/test/resources/zip/not-a-zip.zip =================================================================== --- trunk/nuiton-utils/src/test/resources/zip/not-a-zip.zip (rev 0) +++ trunk/nuiton-utils/src/test/resources/zip/not-a-zip.zip 2012-06-11 09:27:18 UTC (rev 2359) @@ -0,0 +1 @@ +This is not a zip file... \ No newline at end of file Added: trunk/nuiton-utils/src/test/resources/zip/this-is-a-zip.zap =================================================================== (Binary files differ) Property changes on: trunk/nuiton-utils/src/test/resources/zip/this-is-a-zip.zap ___________________________________________________________________ Added: svn:mime-type + application/octet-stream
participants (1)
-
tchemit@users.nuiton.org