import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
private static voidreadZip(String fileName) {
ZipFile zf= null;try{
zf= newZipFile(fileName);
HashSet set = new HashSet();int fileCount = 0;int dirCount = 0;for (Enumeration entries = (Enumeration) zf.entries(); entries.hasMoreElements();) {
ZipEntry ze=entries.nextElement();if(ze.isDirectory()) {
dirCount++;
}else{
fileCount++;
String name=ze.getName();for(String s : illegalString) {if(name.toUpperCase().contains(s)) {
set.add(ze);break;
}
}
}
}
System.out.println("The package contains " + fileCount + " files and " + dirCount + " directories.\n");if (set.size() <= 0) {
System.out.println("PASS: ILLEGAL FILE NOT FOUND.");
}else{
System.out.println("Possible illegal files: \n");int index = 1;
System.out.format(" %-10s%-80s%-20s %n%n", "NO.", "FileName", "Bytes");for(ZipEntry e : set) {
System.out.format(" %-10s%-80s%-20s %n%n", index, e.getName(), e.getSize());
index++;
}
}
}catch(ZipException e) {
System.out.println("INFO: The file format is not a common zip.");
}catch(IOException e) {
System.out.println("WARNING: IOException occured.");
}catch(SecurityException e) {
System.out.println("WARNING: The file is not accessible.");
}catch(NullPointerException e) {
System.out.println("WARNING: NullPointerException. May due to ZipEntry has no Size.");
}finally{if (zf != null) {try{
zf.close();
}catch(IOException e) {
System.out.println("WARNING: IOException occured when close file.");
}
}
}
}