我积累的Java实用代码

Posted buzzerrookie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我积累的Java实用代码相关的知识,希望对你有一定的参考价值。

1、解压zip文件

/**
 * 解压输入的zip流,Java默认的解压只能处理UTF-8编码的文件或者目录名,否则会报MALFORMED异常
 * 
 * @param is 输入流
 * @param outputFolder 目标文件夹
 * @param charset zip文件中文件和目录名称使用的编码
 * @throws IOException 解压出错时抛出
 */
private void unzip(InputStream is, String outputFolder, Charset charset) throws IOException {
    byte[] buffer = new byte[BUFFER_SIZE];
    ZipInputStream zis = new ZipInputStream(new BufferedInputStream(is), charset);
    ZipEntry ze = null;
    while ((ze = zis.getNextEntry()) != null) {
        String fileName = ze.getName();
        File newFile = new File(outputFolder + File.separator + fileName);
        if (ze.isDirectory()) {
            newFile.mkdirs();
        } else {
            newFile.getParentFile().mkdirs();
            FileOutputStream fos = new FileOutputStream(newFile);
            BufferedOutputStream bos = new BufferedOutputStream(fos);
            int len;
            while ((len = zis.read(buffer)) > 0) {
                bos.write(buffer, 0, len);
            }
            bos.close();
        }
    }
    zis.closeEntry();
    zis.close();
}

 

以上是关于我积累的Java实用代码的主要内容,如果未能解决你的问题,请参考以下文章

C++ 代码片段(积累)

Android 实用代码片段

Android 实用代码片段

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

asp.net页面实用代码片段

十个html5代码片段,超实用,一定要收藏