static void remakeZipEntry(String newName, File zipFile, String[] filesToDelete, String[] namesToAdd, String[] contents) throws IOException {
		byte[] buf = new byte[1024];
		ZipInputStream zin = new ZipInputStream(new FileInputStream(zipFile));
		ZipOutputStream zout = new ZipOutputStream(new FileOutputStream(newName));
		ZipEntry entry = zin.getNextEntry();
		while (entry != null) {
			String name = entry.getName();
			boolean toBeDeleted = entry.isDirectory();
			for (String f : filesToDelete) {
				if (f.equals(name)) {
					toBeDeleted = true;
					break;
				}
			}
			if (!toBeDeleted) {
				//System.out.println(name);
				zout.putNextEntry(new ZipEntry(name));
				int len;
				while ((len = zin.read(buf)) > 0)
					zout.write(buf, 0, len);
			}
			entry = zin.getNextEntry();
		}
		for (int i = 0;i<namesToAdd.length;i++){
			zout.putNextEntry(new ZipEntry(namesToAdd[i]));
			PrintWriter pr = new PrintWriter(zout);
			pr.print(contents[i]);
			pr.flush();
		}
		zin.close();
		zout.close();
	}