java把文件压缩成zip

压缩zip
public static void fileZip(String douGroupName, String planYymmdd, String fileNameHed, String fileNameDat,
            String furikaFileNameHed, String furikaFileNameDat, String fileTempPath) {
        ZipOutputStream out = null;
        BufferedInputStream origin = null;
        try {
            FileOutputStream dest = new FileOutputStream(fileTempPath + douGroupName + "_" + planYymmdd + ".zip");
            out = new ZipOutputStream(new BufferedOutputStream(dest));
            if (furikaFileNameHed != null && furikaFileNameDat != null) {
                File[] fileArray = {
                        new File(fileNameHed), new File(fileNameDat), new File(furikaFileNameHed),
                        new File(furikaFileNameDat)
                };
                for (File element : fileArray) {
                    byte[] data = new byte[(int)element.length()];
                    FileInputStream fi = new FileInputStream(element);
                    try {
                        origin = new BufferedInputStream(fi);
                        ZipEntry entry = new ZipEntry(element.getName());
                        out.putNextEntry(entry);
                        while ((origin.read(data, 0, (int)element.length())) != -1) {
                            out.write(data, 0, (int)element.length());
                        }
                    } catch (IOException e) {
                        throw e;
                    } finally {
                        if (origin != null) {
                            origin.close();
                        }
                    }
                }
            } else {
                File[] fileArray = {
                        new File(fileNameHed), new File(fileNameDat)
                };
                for (File element : fileArray) {
                    byte[] data = new byte[(int)element.length()];
                    FileInputStream fi = new FileInputStream(element);
                    try {
                        origin = new BufferedInputStream(fi);
                        ZipEntry entry = new ZipEntry(element.getName());
                        out.putNextEntry(entry);
                        if ((int)element.length() != 0) {
                            while ((origin.read(data, 0, (int)element.length())) != -1) {
                                out.write(data, 0, (int)element.length());
                            }
                        }
                    } catch (IOException e) {
                        throw e;
                    } finally {
                        if (origin != null) {
                            origin.close();
                        }
                    }
                }
            }
        } catch (IOException e) {
            throw new IsaException(e);
        } finally {
            try {
                if (out != null) {
                    out.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

你可能感兴趣的:(java)