精华内容
下载资源
问答
  • 使用java压缩一个文件夹中的任意几个文件之前有人写过用递归压缩一个文件夹里的所有文件,看了让人受益匪浅,我这个程序没有那么复杂,但是在我现在的实际的项目中,根本不会用到压缩整个文件夹,需要选择文件来压缩...

    使用java压缩一个文件夹中的任意几个文件

    之前有人写过用递归压缩一个文件夹里的所有文件,看了让人受益匪浅,

    我这个程序没有那么复杂,但是在我现在的实际的项目中,根本不会用到压缩整个文件夹,需要选择文件来压缩,我就写了这个简单的小程序,贴出来大家分享吧。package test;

    import java.util.ArrayList;

    import java.util.List;

    import java.util.zip.*;

    import java.io.*;

    /**

    *

    * @author lIHUI

    *

    */

    public class MyZip {

    /**

    * 压缩一个文件到一个zip

    * @param in 输入的文件

    * @param out 输出的zip名

    * @param outEntry zip中的条目名

    */

    public static void zip(String in,ZipOutputStream out,String outEntry) {

    File inf = new File(in) ;

    FileInputStream ins;

    try {

    if(inf.exists()){

    ins = new FileInputStream(inf);

    out.putNextEntry(new ZipEntry(outEntry));

    int b ;

    while ((b = ins.read()) != -1) {

    out.write(b);

    }

    ins.close();

    }else{

    //按照项目的需要在没有的时候给予提示吧。

    System.out.println("系统找不到指定文件:"+in);

    }

    } catch (FileNotFoundException e) {

    e.printStackTrace();

    } catch (IOException e2) {

    e2.printStackTrace();

    } catch (Exception e3) {

    e3.printStackTrace();

    }

    }

    /**

    *

    * @param out 输出的zip名

    * @param in 输入的目录

    * @param inEntrys 输入的条目集合

    */

    public static void zip(String out,String in,List inEntrys) {

    try {

    OutputStream zipFileName_fileOutputStream = new FileOutputStream(out);

    ZipOutputStream zipOutputStream = new ZipOutputStream(zipFileName_fileOutputStream);

    for(String inEntry:inEntrys){

    zip(in+inEntry,zipOutputStream,inEntry);

    }

    zipOutputStream.close();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    public static void main(String[] args) {

    List inEntrys=new ArrayList();

    inEntrys.add("a.txt");

    inEntrys.add("b.txt");

    //可以加一个实际没有的文件试试

    inEntrys.add("xy.txt");

    zip("e:\\a.zip","e:\\a\\",inEntrys);

    }

    }

    展开全文
  • 在linux 下压缩一个文件夹: [root@bak1 tmp]# tar czvf recover.tar.gz recover

    在linux 下压缩一个文件夹:

    [root@bak1 tmp]# tar czvf recover.tar.gz recover

     

     

    展开全文
  • tar压缩一个文件夹

    2019-09-16 02:42:03
    举例 tar -zcvf ssm-dubbo.tar.gz ssm-dubbo/ 解释 c这参数的含义是create,创建。 转载于:https://my.oschina.net/q...

    举例

    tar -zcvf ssm-dubbo.tar.gz ssm-dubbo/
    

    解释 c这个参数的含义是create,创建。

    转载于:https://my.oschina.net/qiudaozhang/blog/2996408

    展开全文
  • PHP压缩一个文件夹里面所有的文件,多文件混合压缩。 本函数可以接受多个源文件(或文件夹)同时压缩。 function createZip($from, $to)。 PHP文件夹打包,以供下载


    PHP压缩一个文件夹里面所有的文件,多文件混合压缩

    p.s. 文件打包,文件夹打包,文件夹加文件压缩,zip函数      


    前言...

    找了好久,都没找到适合自己的函数,遂自建一个。

    本函数可以接受多个源文件(或文件夹)同时压缩,例如使用数组传值:

    $zip_result = createZip( array('A.php', 'B.txt', 'logo.png', '/var/www/assets/css/'),      'result.zip' );

    $zip_result = createZip( ‘/path-to-source-folder/’,  'result.zip' );

    $zip_result = createZip( 'index.html',      'result.zip' );


    注意:

    * 1.需要两个自建函数配合:createZip()  +   recursive_get_files_by_path_of_folder() 
    * 2.主函数一个输出的结果$return['data']['zipFile']['url']需要自己去补充,现在为空。(可选)


    代码:

    <?php
    
    
    
    /**
     * 
     * createZip - 创建压缩包,for文件夹/文件
     * 
     * @param type string-or-array $from  
     *        => 字符串 '/path/to/source/file/or/folder/'
     *        => 或者 包含字符串的数组  array('fileA','FolderA','fileB')
     * @param type string $to 
     *        => 字符串 '/path/to/output.zip'
     * @return array
     *        => array(
     *             'success' => false, 
     *             'message' => '失败原因', 
     *             'data' => array(
     *                 'zipFile' => array(zip文件的信息)
     *             ) 
     *           )
     * @author Rudon[285744011@qq.com]
     * 
     */
    function createZip($from, $to) {
        /* Init */
        $return = array(
            'success' => false,
            'message' => '',
            'data' => array(
                'zipFile' => array(
                    'name' => '',
                    'path_relative' => '',
                    'path_absolute' => '',
                    'url' => '', // 自己添加吧
                    'size' => '',
                    'exists_before' => false
                )
            )
        );
    
        /* Check zip class */
        if (!class_exists('ZipArchive')) {
            $return['message'] = 'Missing ZipArchive module in server.';
            return $return;
        }
    
        /* Check right of write for target zip file */
        $zip = new ZipArchive();
        if (!is_dir(dirname($to))) {
            mkdir(dirname($to), 0755, TRUE);
        }
        if (is_file($to)) {
            $return['data']['zipFile']['exists_before'] = true;
            if ($zip->open($to, ZIPARCHIVE::OVERWRITE) !== TRUE) {
                $return['message'] = "Cannot overwrite: {$to}";
                return $return;
            }
        } else {
            if ($zip->open($to, ZIPARCHIVE::CREATE) !== TRUE) {
                $return['message'] = "Could not create archive: {$to}";
                return $return;
            }
        }
    
    
        /* Check path of source files or folder */
        $source_path_including_dir = array();
        $prefix_relative_path_for_source = '';
        if (is_array($from)) {
            foreach ($from as $path) {
                if (file_exists($path)) {
                    if ($prefix_relative_path_for_source == '') {
                        $prefix_relative_path_for_source = (is_dir($path)) ? realpath($path) : realpath(dirname($path));
                    }
                    $source_path_including_dir[] = $path;
                } else {
                    $return['message'] = 'No such file or folder: ' . $path;
                    return $return;
                }
            }
        } elseif (file_exists($from)) {
            $prefix_relative_path_for_source = (is_dir($from)) ? realpath($from) : realpath(dirname($from));
            $source_path_including_dir[] = $from;
        } else {
            $return['message'] = 'No such file or folder: ' . $from;
            return $return;
        }
        $prefix_relative_path_for_source = rtrim($prefix_relative_path_for_source, '/') . '/';
    
    
        /* Get final list of files, no folder */
        $final_list_of_files = array();
        foreach ($source_path_including_dir as $path) {
            if (is_file($path)) {
                /* File */
                $final_list_of_files[] = $path;
            } else {
                /* Folder */
                $list_of_files = recursive_get_files_by_path_of_folder($path);
                foreach ($list_of_files as $one) {
                    $final_list_of_files[] = $one;
                }
            }
        }
        if (!count($final_list_of_files)) {
            $return['message'] = 'No valid file or folder used to zip';
            return $return;
        }
    
    
        /* Begin to add to zip file */
        foreach ($final_list_of_files as $one_file) {
            $zip->addFile($one_file, str_replace($prefix_relative_path_for_source, '', $one_file));
        }
        $zip->close();
    
        /* Return */
        $return['success'] = true;
        $return['data']['zipFile']['name'] = pathinfo($to, PATHINFO_BASENAME);
        $return['data']['zipFile']['path_relative'] = $to;
        $return['data']['zipFile']['path_absolute'] = realpath($to);
        $return['data']['zipFile']['size'] = number_format(abs(filesize($to) / 1024), 2) . ' KB';
        return $return;
    }
    
    
    /**
     * 获取文件夹下的文件列表,遍历模式
     * 
     * @param type $dir
     * @param type $is_tree
     * @return string
     */
    function recursive_get_files_by_path_of_folder($dir, $is_tree = false) {
        $files = array();
        $dir = preg_replace('/[\/]{1}$/i', '', $dir);
        if (is_dir($dir)) {
            if ($handle = opendir($dir)) {
                while (($file = readdir($handle)) !== false) {
                    if ($file != "." && $file != "..") {
                        if (is_dir($dir . "/" . $file)) {
                            $sub_list = recursive_get_files_by_path_of_folder($dir . "/" . $file, $is_tree);
                            if ($is_tree) {
                                $files[$file] = $sub_list;
                            } else {
                                foreach ($sub_list as $one_sub_file) {
                                    $files[] = $one_sub_file;
                                }
                            }
                        } else {
                            $files[] = $dir . "/" . $file;
                        }
                    }
                }
                closedir($handle);
                return $files;
            }
        } else {
            $files[] = $dir;
            return $files;
        }
    }
    
    
    
    /************************************************
     * 参数$from的可选形式:
     * $from = array('A.php', 'B.php', 'C.php', './folderName/')
     * $from = './folderName/';
     * $from = 'xxx.txt';
     */
    
    
    $from = './folderName/';
    $to = './res/tmp.zip';
    $zip_result = createZip($from, $to);
    print_r($zip_result);
    
    


    结果预览:

    <?php
    Array
    (
    	[success] => true
    	[message] => ''
    	[data] => Array
    		(
    			[zipFile] => Array
    				(
    					[name] => tmp.zip
    					[path_relative] => ./res/tmp.zip
    					[path_absolute] => /var/www/Project/res/tmp.zip
    					[url] => ''
    					[size] => 3.18 KB
    					[exists_before] => false
    				)
    		)
    )







    相关标签:

    PHP文件夹打包,以供下载。
    PHP自带ZIP压缩、解压缩类ZipArchiv介绍及使用。
    php zip文件下载。
    php将文件夹打包成zip文件。
    php将文件夹打包成zip文件的简单实现方法。
    php如何压缩一个文件夹里面所有的文件到zip文件里面。
    使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip。



    展开全文
  • import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry;...
  • 在Ubuntu下如何压缩一个文件夹

    千次阅读 2019-04-01 15:35:56
    .gz 解压1:gunzip FileName.gz ...压缩:gzip FileName .tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName --------------------------------------------- .bz2 ...
  • 好压下载 好压下载链接 好压安装 双击安装包直接按照默认或者自己设置安装路径 环境配置 ... 测试配置是否正确 编辑压缩命令 haozipc a -r 压缩测试.zip contrib\...在cpcontrib文件夹级运行cmd,粘贴上面的压缩命令
  • 压缩:gzip FileName .tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName .bz2 解压1:bzip2 -d FileName.bz2 解压2:bunzip2 FileName.bz2 压缩: bzip2 -z FileName .tar.bz2 解压:...
  • /** * 压缩整个文件夹中的所有文件,生成指定名称的zip压缩包 * * @param filepath * 文件所在目录 * @param zippath * 压缩后zip文件名称 * @param dirFlag * zip文...
  • 1、打开要压缩文件夹,右键终端打开;2、输入压缩命令: tar -zcvf 3、输入输出的压缩文件名,例如:ll.tar.gz。然后在后面输入【*】星号就是所有文件。 4、回车,那么即可压缩,当前目录有个压缩文件。 ...
  • 转载自: https://blog.csdn.net/huplion/article/details/81121655?utm_source=blogxgwz9
  • 之前有人写过用递归压缩一个文件夹里的所有文件,看了让人受益匪浅, 我这个程序没有那么复杂,但是在我现在的实际的项目中,根本不会用到压缩整个文件夹,需要选择文件来压缩,我就写了这个简单的小程序,贴出来...
  • sudo tar zcvf work.tar.gz work/ sudo tar jcvf work.tar.bz2 work/ ...顺便也写一下解压缩吧 tar xzvf work.tar.gz tar xjvf work.tar.bz2 tar xvf work.tar 查看当前目录使用的总空间大小 ...
  • 你这个问题其实我感觉就是一个 webpack 配置多入口的问题。那就是需要 entry 配置的时候传多个入口咯。什么?你说一个一个写太累了。他配置文件又不是个json,你完全可以通过编程的方式来遍历var fs = require('fs')...
  • 该方法递归实现将多个文件夹压缩在同一个zip包中 然后删除文件夹directoryName 下需要被压缩的文件。 package com.chuangqi.tools; import java.io.File; import java.io.FileInputStream; import java.io....
  • 在pb中如何将一个文件夹和一个文件压缩到一个zip压缩文件中,不要rar的,求高手
  • 我现在需要根据选取指定文件夹里面的文件来进行压缩,就是把文件夹里面选取到的内容进行压缩压缩一个压缩包。我是把选取到的文件路径都存到了一个数组里面,然后解压这个数组里面的路径,但是解压出来不是在一个...
  • 这是一个小巧的文件上锁软件,没有压缩和加密过程,方便快捷。 功能展示 在想加密的文件夹上,右键则可呼出加密面板,输入两次密码确认加密。 在已加密的文件夹上,快捷,输入密码,则取消加密 项目介绍 项目分了两...
  • gulp-uglify:压缩js大小,只支持es5 安装: ...代码实现1:压缩js文件夹下的index.js文件输出到dist文件夹下面(注意要压缩的js文件中此处只能使用es5) 1 var gulp = require('gulp'); 2 ...
  • [C++ zip] 如何压缩一个文件夹

    千次阅读 2014-01-13 19:48:47
    //建立一个文件夹 ZIP_Folder(file,in_folder_old,out_filename,newZipFile); } cont = dir.GetNext(&filename); } return ; } 完 使用的方法: /* HZIP newZipFile = CreateZip(full_...
  • gunzip -r hongchangfirst/data ...如何把一个文件夹下的所有文件的内容都合并到一个大文件中? find 04 -type f -name "wire.log.*" | xargs cat > ../all_logs 原文: ...
  • C++如何调用winrar压缩一个文件夹到指定目录 求教
  • 1.Gzip单个文件压缩package date0805.demo1; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream...
  • /** 缓冲 */static final byte[] buffer = new byte[2048];// 来源File inputDir = new File(request.getServletContext().getRealPath(Constant.getUploadPath()));...= inputDir.listFiles()) {// 压缩zip(inputD...
  • 就是一个大的文件夹下,有n个加密压缩包,我用zipfile去解压,如何写python脚本能先解密文件,在解压文件。然后所有文件都被处理完,在线等答案!
  • compressing 压缩和解压缩文件和文件夹 ...// compressDir的第一个参数为需要进行压缩文件夹 // 第二个参数为输出的zip文件 compressing.zip.compressDir('./aa', 'aa.zip').then(res => { conso

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,003
精华内容 4,001
关键字:

压缩一个文件夹