当前位置: 首页>>代码示例>>Java>>正文


Java ZipOutputStream.setEncoding方法代码示例

本文整理汇总了Java中org.apache.tools.zip.ZipOutputStream.setEncoding方法的典型用法代码示例。如果您正苦于以下问题:Java ZipOutputStream.setEncoding方法的具体用法?Java ZipOutputStream.setEncoding怎么用?Java ZipOutputStream.setEncoding使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.tools.zip.ZipOutputStream的用法示例。


在下文中一共展示了ZipOutputStream.setEncoding方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: zip

import org.apache.tools.zip.ZipOutputStream; //导入方法依赖的package包/类
/**
 * <p>
 * 压缩文件
 * </p>
 *
 * @param sourceFolder 压缩文件夹
 * @param zipFilePath 压缩文件输出路径
 */
public static void zip(String sourceFolder, String zipFilePath) throws Exception {
    OutputStream out = new FileOutputStream(zipFilePath);
    BufferedOutputStream bos = new BufferedOutputStream(out);
    ZipOutputStream zos = new ZipOutputStream(bos);
    // 解决中文文件名乱码
    zos.setEncoding(CHINESE_CHARSET);
    File file = new File(sourceFolder);
    String basePath = null;
    if (file.isDirectory()) {
        basePath = file.getPath();
    } else {
        basePath = file.getParent();
    }
    zipFile(file, basePath, zos);
    zos.closeEntry();
    zos.close();
    bos.close();
    out.close();
}
 
开发者ID:JoyLau,项目名称:joylau-springboot-daemon-windows,代码行数:28,代码来源:ZipUtils.java

示例2: zip

import org.apache.tools.zip.ZipOutputStream; //导入方法依赖的package包/类
public static void zip(String path, List<File> files) throws IOException {
	ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(   
			new FileOutputStream(path), 1024));   
	for(File f : files) {
		String zipName = f.getName();
		if(!f.getName().contains(".png")) { 
			zipName = f.getName() + ".xml"; 
		}
		ZipEntry ze = new ZipEntry(zipName);
		ze.setTime(f.lastModified());
	    DataInputStream dis = new DataInputStream(new BufferedInputStream(   
	                new FileInputStream(f)));   
        zos.putNextEntry(ze);   
        int c;   
        while ((c = dis.read()) != -1) {   
            zos.write(c);   
        }   
	}
	zos.setEncoding("gbk");    
       zos.closeEntry();   
       zos.close();  
}
 
开发者ID:apicloudcom,项目名称:APICloud-Studio,代码行数:23,代码来源:ZipUtil.java

示例3: Zipper

import org.apache.tools.zip.ZipOutputStream; //导入方法依赖的package包/类
/**
 * 创建Zipper对象
 * 
 * @param out
 *            输出流
 * @param filter
 *            文件过滤,不过滤可以为null。
 * @param srcFilename
 *            源文件名。可以有多个源文件,如果源文件是目录,那么所有子目录都将被包含。
 */
protected Zipper(OutputStream out, List<FileEntry> fileEntrys,
		String encoding) {
	Assert.notEmpty(fileEntrys);
	long begin = System.currentTimeMillis();
	log.debug("开始制作压缩包");
	try {
		try {
			zipOut = new ZipOutputStream(out);
			if (!StringUtils.isBlank(encoding)) {
				log.debug("using encoding: {}", encoding);
				zipOut.setEncoding(encoding);
			} else {
				log.debug("using default encoding");
			}
			for (FileEntry fe : fileEntrys) {
				zip(fe.getFile(), fe.getFilter(), fe.getZipEntry(), fe
						.getPrefix());
			}
		} finally {
			zipOut.close();
		}
	} catch (IOException e) {
		throw new RuntimeException("制作压缩包时,出现IO异常!", e);
	}
	long end = System.currentTimeMillis();
	log.info("制作压缩包成功。耗时:{}ms。", end - begin);
}
 
开发者ID:huanzhou,项目名称:jeecms6,代码行数:38,代码来源:Zipper.java

示例4: setZipOutputStream

import org.apache.tools.zip.ZipOutputStream; //导入方法依赖的package包/类
protected static void setZipOutputStream(ZipOutputStream zos, String encoding, String comment) {

        zos.setLevel(Deflater.BEST_COMPRESSION);
        if (StringUtils.isNotBlank(encoding)) {
            zos.setEncoding(encoding);
        }

        if (StringUtils.isNotBlank(comment)) {
            zos.setComment(comment);
        }
    }
 
开发者ID:jiucai,项目名称:appframework,代码行数:12,代码来源:ZipFileUtil.java

示例5: zip

import org.apache.tools.zip.ZipOutputStream; //导入方法依赖的package包/类
/**
 * 压缩文件夹或文件
 *
 * @param src
 *            src
 * @param archive
 *            archive
 * @param comment
 *            压缩包注释
 * @throws FileNotFoundException
 *             FileNotFoundException
 * @throws IOException
 *             IOException
 */
public static void zip(String src, String archive, String comment)
        throws FileNotFoundException, IOException {
    // ----压缩文件:
    FileOutputStream f = new FileOutputStream(archive);
    // 使用指定校验和创建输出流
    CheckedOutputStream csum = new CheckedOutputStream(f, new CRC32());

    ZipOutputStream zos = new ZipOutputStream(csum);
    // 支持中文
    zos.setEncoding(encoding);
    BufferedOutputStream out = new BufferedOutputStream(zos);
    // 设置压缩包注释
    zos.setComment(comment);

    // 启用压缩
    zos.setMethod(ZipOutputStream.DEFLATED);
    // 压缩级别为最强压缩,但时间要花得多一点
    zos.setLevel(Deflater.BEST_COMPRESSION);

    File srcFile = new File(src);

    if (!srcFile.exists() || (srcFile.isDirectory() && srcFile.list().length == 0)) {
        out.close();
        throw new FileNotFoundException(
                "File must exist and  ZIP file must have at least one entry.");
    }
    // 获取压缩源所在父目录
    src = src.replaceAll("\\\\", "/");
    String prefixDir = null;
    if (srcFile.isFile()) {
        prefixDir = src.substring(0, src.lastIndexOf("/") + 1);
    } else {
        prefixDir = (src.replaceAll("/$", "") + "/");
    }

    // 如果不是根目录
    if (prefixDir.indexOf("/") != (prefixDir.length() - 1) && isCreateSrcDir) {
        prefixDir = prefixDir.replaceAll("[^/]+/$", "");
    }

    // 开始压缩
    saveZipFile(zos, out, srcFile, prefixDir);

    out.close();
    // 注:校验和要在流关闭后才准备,一定要放在流被关闭后使用
    logger.debug("Checksum: " + csum.getChecksum().getValue());

}
 
开发者ID:jiucai,项目名称:appframework,代码行数:63,代码来源:Zip.java


注:本文中的org.apache.tools.zip.ZipOutputStream.setEncoding方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。