精华内容
下载资源
问答
  • SpringBoot 动态生成个Excel文件压缩包.zip格式下载

    前言:

    文件下载的场景很多(还不是需求丰富嘛~),那么什么是动态生成文件呢,就是用户选择文件内容,服务器端根据选择的数据生成某个格式的文件然后下载到客户端。单个嘛直接下载,多个打包下载咯!

    悄悄说下,Markdown蛮好用哈 =.=
    

    项目场景:

    项目中有个数据导出excel的需求,而且是批量,那么就要打包咯

    解决步骤:

    基本实现如下:
    1、生成文件
    2、保存到临时目录 || 缓存到内存中
    3、将文件打包下载

    我不想废话了,上代码:

    直接把文件输出流放到压缩流ZipOutputStream

     List<String> fields = new ArrayList<>();
            fields.add("字段1");
            fields.add("字段2");
            fields.add("字段3");
            HSSFWorkbook workbook = excelUtil.getNewExcel("压缩文件测试", fields);
            try {
                response.setContentType("application/zip; charset=UTF-8");
                //返回客户端浏览器的版本号、类型
                String agent = request.getHeader("USER-AGENT");
                String downloadName = "压缩文件测试.zip";
                //针对IE或者以IE为内核的浏览器:
                if (agent.contains("MSIE") || agent.contains("Trident")) {
                    downloadName = java.net.URLEncoder.encode(downloadName, "UTF-8");
                } else {
                    downloadName = new String(downloadName.getBytes("UTF-8"), "ISO-8859-1");
                }
                response.setHeader("Content-disposition", "attachment;filename=" + downloadName);
    			
                ZipOutputStream zipOutputStream = new ZipOutputStream(response.getOutputStream());
    			//多个从这里就可遍历了
    			// --start
                ZipEntry entry = new ZipEntry("第一个文件名.xls");
                zipOutputStream.putNextEntry(entry);
    
                ByteOutputStream byteOutputStream = new ByteOutputStream();
                workbook.write(byteOutputStream);
                byteOutputStream.writeTo(zipOutputStream);
    //            zipOutputStream.write(workbook.getBytes());
                byteOutputStream.close();
                zipOutputStream.closeEntry();
                // --end
                zipOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    

    生成excel文件也贴一下,如下:

    public static HSSFWorkbook getNewExcel(String formName, List<String> fields) {
            //新建excel对象
            HSSFWorkbook workbook = new HSSFWorkbook();
            //新建工作表
            HSSFSheet sheet = workbook.createSheet(formName);
            // 设置表格默认列宽度为20个字节
            sheet.setDefaultColumnWidth((short) 20);
            // 生成一个样式
            HSSFCellStyle style = workbook.createCellStyle();
            // 生成一个字体
            HSSFFont font = workbook.createFont();
            font.setFontHeightInPoints((short) 12);
            //字体应用到当前样式
            style.setFont(font);
            //创建表格行
            HSSFRow row = sheet.createRow(0);
            //设置表单名称
            row.createCell(0).setCellValue(formName);
            if (fields.size() - 1 > 0) {
                //合并单元格
                sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, fields.size() - 1));
            }
            HSSFRow row1 = sheet.createRow(sheet.getLastRowNum() + 1);
            //设置列标题行
            for (int i = 0; i < fields.size(); i++) {
                row1.createCell(i).setCellValue(fields.get(i));
            }
            return workbook;
        }
    

    就到这里,欢迎留言!

    展开全文
  • 本需求是自己负责的一个生产系统上,有大量以zip和rar结尾的压缩文件散落在文件系统的各个文件夹,先在需要把压缩包里包含某一个特定文件(如tftpd32.exe或Tftpd32.exe,版本较旧),全都替换成比较新的tftpd32.exe...

    本需求是自己负责的一个生产系统上,有大量以zip和rar结尾的压缩文件散落在文件系统的各个文件夹,先在需要把压缩包里包含某一个特定文件(如tftpd32.exe或Tftpd32.exe,版本较旧),全都替换成比较新的tftpd32.exe版本。压缩文件总数约5000个,需要替换的数量约1500个。

    因为是生产环境,不敢轻易乱动,所以脚本考虑的因素就非常多,不允许中间执行过程出现异常,所以找到文件后实际执行替换操作之前做好备份,并且将操作过程记录日志。

    以下几点需要考虑:

    分别处理zip和rar文件,为减低脚本的复杂程度,分作两个shell脚本。

    rar在Linux下默认是没有安装解压缩工具,下载rarlinux-x64-5.2.0.tar.gz

    zip包中文件含有中文文件名,unzip测试解压缩或列出内容时出现文件名乱码,原因是zip在压缩时不记录当时的编码格式。这个问题非常棘手,乱码打进压缩包是绝对不允许的,网上有几种解压办法有几种办法都不能很好的应对我的场景:并不需要实际解压zip文件,而只需使用 l ——列出文件列表、获取目录及文件名,d ——从压缩包中直接删除某个文件,a ——向压缩包添加一个文件。实际解压到文件系统上是不是乱码我们并不关心。

    最后的解决办法是使用p7zip工具,配合LANG变量解决。

    向压缩包里添加新文件时,要保持里面的目录结构,则必须在文件系统上存在同样的 相对目录/文件 。所以每次都要在脚本执行目录下创建临时目录tmp_dir,还要及时删除。但如果文件在压缩包的根目录下,这个临时目录就是当前脚本执行目录。

    有可能会存在一个压缩包中多个文件夹中包含不止一个tftpd32.exe文件。

    每个文件都有一个CRC值,处理文件名大小写不同但实质是同一个文件时有效。

    以下脚本使用说明:

    变量说明

    filelist 变量设定你所需要检查的压缩文件列表(绝对路径),可以通过find /your/dir/ -name *.rar | sort | uniq > testfile。与脚本在相同目录下

    existlist 变量是从filelist文件中得到的包含特定文件的列表,脚本执行完后可以查看

    errorlist 变量是从filelist文件列表中得到的不包含特定文件的列表,当然也有可能这个压缩文件本身不完整

    filebak 变量指定要替换的那个压缩文件备份的目录

    oldfile 指定要替换的那个文件名

    newfile 指定新文件的文件名,注意这个文件一定要在脚本当前目录下

    binrar,bin7z 指定解压缩命令目录,因为7z和rar都不是CentOS自带的

    fl 是filelist文件列表里的每一条记录

    exist 压缩文件fl的内容列表里包含tftpd32.exe的记录,可能有多行

    dirfiles 处理exist的结果,形如压缩包里的目录结构 your/dir/tftpd32.exe,可能有多行

    df 是dirfiles中的单行记录,它的前面目录部分便是tmp_dir

    是否有必要root用户执行看个人情况,执行后部分文件的属主可能会变,可用chown user1.user1 -R /your/dir/恢复

    有部分zip文件无法使用7z,但文件本身正常,从日志可以看到error信息

    tftpd32.exe区分大小写,如果要查找替换Tftpd32.exe请修改后在执行(确保grep没有-i选项)

    可以处理的情况

    压缩文件中无tftpd32.exe

    要替换的tftpd32.exe文件在压缩文件根目录下

    要替换的tftpd32.exe在嵌套子目录中

    压缩文件中存在多个tftpd32.exe

    压缩文件本身存在问题

    该脚本有一定的危险性(虽然已备份),在正式环境中运行之前一定要多做测试。并且运行一次之后,谨慎运行第二次,因为可能会导致备份被覆盖(可换备份目录)

    假如出现异常,要从备份文件恢复所有修改的文件,可以根据$existlist和filebak下的目录列表拼凑cp语句

    建议执行方法./rar_new.sh | tee your.log,事后可从your.log中查看日志

    处理rar的脚本rar_new.sh:

    #!/bin/bash

    filelist="testfile"

    # filelist="crm_rar.txt"

    existlist="${filelist}.exist"

    errorlist="${filelist}.not"

    filebak="/crmbak/rarbak"

    oldfile=tftpd32.exe

    newfile=tftpd32.exe

    binrar="/usr/bin/rar"

    IFS=$'\n'

    echo "files list bellow have ${oldfile}:" > $existlist

    echo "files list bellow do not have ${oldfile} or may have error:" > $errorlist

    for fl in `cat $filelist`

    do

    # ${oldfile} exist or not, file error or not

    exist=`$binrar l $fl |grep ${oldfile}`

    if [ $? -ne 0 ];then

    echo "$fl" >> $errorlist

    continue

    else

    # get extracting dir and filename, could be more than one file

    dirfiles=`echo "$exist" | awk '{for (i=5;i<=NF;i++) printf $i" " ; print ""}'`

    fi

    # echo "$exist"

    if [ "$dirfiles" != "" ];then

    echo "$fl" | tee -a $existlist

    # backup original file

    /bin/cp -af "$fl" "$filebak/"

    echo "--- $fl is backed up in $filebak"

    echo " $dirfiles"

    for df in `echo "$dirfiles"`

    do

    # create temp directory to put new ${newfile} for compress

    tmp_dir=$( echo "$df" | awk -F '/' '{for(i=1;i

    处理zip的脚本zip_new.sh:

    #!/bin/bash

    # filelist="test_filelist"

    filelist="crm_zip.txt"

    existlist="${filelist}.exist"

    errorlist="${filelist}.not"

    filebak="/crmbak/zipbak"

    oldfile=Tftpd32.exe

    newfile=tftpd32.exe

    bin7z="/usr/bin/7z"

    export LANG="zh_CN.GB18030"

    IFS=$'\n'

    echo "files list bellow have ${oldfile}:" > $existlist

    echo "files list bellow do not have ${oldfile} or may have error:" > $errorlist

    for fl in `cat $filelist`

    do

    # ${oldfile} exist or not, file error or not

    exist=`$bin7z l $fl |grep ${oldfile}`

    if [ $? -ne 0 ];then

    echo "$fl" >> $errorlist

    continue

    else

    # get extracting dir and filename, could be more than one file

    dirfiles=`echo "$exist" | awk '{for (i=6;i<=NF;i++) printf $i" " ; print ""}'`

    fi

    # echo ===== "$dirfiles"

    if [ "$dirfiles" != "" ];then

    echo "$fl" | tee -a $existlist

    # backup original file

    /bin/cp -af "$fl" "$filebak/"

    echo "--- $fl is backed up in $filebak"

    echo " $dirfiles"

    for df in `echo "$dirfiles"`

    do

    # create temp directory to put new ${newfile} for compress

    tmp_dir=$( echo "$df" | awk -F '/' '{for(i=1;i

    原文链接地址:http://seanlook.com/2015/01/29/shell-batch-replace-files-from-rar-zip/

    展开全文
  • 来源:blog.csdn.net/qq_40437152/article/details/111411364前言文件下载的场景很多(还不是需求丰富嘛~),那么什么是动态生成文件呢,就是用户...

    来源:blog.csdn.net/qq_40437152/article/details/111411364

    前言

    文件下载的场景很多(还不是需求丰富嘛~),那么什么是动态生成文件呢,就是用户选择文件内容,服务器端根据选择的数据生成某个格式的文件然后下载到客户端。单个嘛直接下载,多个打包下载咯!

    项目场景

    项目中有个数据导出excel的需求,而且是批量,那么就要打包咯

    解决步骤

    基本实现如下:

    1. 生成文件

    2. 保存到临时目录 || 缓存到内存中

    3. 将文件打包下载

    我不想废话了,上代码:

    直接把文件输出流放到压缩流ZipOutputStream

     List<String> fields = new ArrayList<>();
            fields.add("字段1");
            fields.add("字段2");
            fields.add("字段3");
            HSSFWorkbook workbook = excelUtil.getNewExcel("压缩文件测试", fields);
            try {
                response.setContentType("application/zip; charset=UTF-8");
                //返回客户端浏览器的版本号、类型
                String agent = request.getHeader("USER-AGENT");
                String downloadName = "压缩文件测试.zip";
                //针对IE或者以IE为内核的浏览器:
                if (agent.contains("MSIE") || agent.contains("Trident")) {
                    downloadName = java.net.URLEncoder.encode(downloadName, "UTF-8");
                } else {
                    downloadName = new String(downloadName.getBytes("UTF-8"), "ISO-8859-1");
                }
                response.setHeader("Content-disposition", "attachment;filename=" + downloadName);
       
                ZipOutputStream zipOutputStream = new ZipOutputStream(response.getOutputStream());
       //多个从这里就可遍历了
       // --start
                ZipEntry entry = new ZipEntry("第一个文件名.xls");
                zipOutputStream.putNextEntry(entry);
    
                ByteOutputStream byteOutputStream = new ByteOutputStream();
                workbook.write(byteOutputStream);
                byteOutputStream.writeTo(zipOutputStream);
    //            zipOutputStream.write(workbook.getBytes());
                byteOutputStream.close();
                zipOutputStream.closeEntry();
                // --end
                zipOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    

    生成excel文件也贴一下,如下:

    public static HSSFWorkbook getNewExcel(String formName, List<String> fields) {
            //新建excel对象
            HSSFWorkbook workbook = new HSSFWorkbook();
            //新建工作表
            HSSFSheet sheet = workbook.createSheet(formName);
            // 设置表格默认列宽度为20个字节
            sheet.setDefaultColumnWidth((short) 20);
            // 生成一个样式
            HSSFCellStyle style = workbook.createCellStyle();
            // 生成一个字体
            HSSFFont font = workbook.createFont();
            font.setFontHeightInPoints((short) 12);
            //字体应用到当前样式
            style.setFont(font);
            //创建表格行
            HSSFRow row = sheet.createRow(0);
            //设置表单名称
            row.createCell(0).setCellValue(formName);
            if (fields.size() - 1 > 0) {
                //合并单元格
                sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, fields.size() - 1));
            }
            HSSFRow row1 = sheet.createRow(sheet.getLastRowNum() + 1);
            //设置列标题行
            for (int i = 0; i < fields.size(); i++) {
                row1.createCell(i).setCellValue(fields.get(i));
            }
            return workbook;
        }
    

    一些实践总结,欢迎指正!

    推荐好文

    强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!

    分享一套基于SpringBoot和Vue的企业级中后台开源项目,代码很规范!

    能挣钱的,开源 SpringBoot 商城系统,功能超全,超漂亮

    展开全文
  • 本需求是自己负责的一个生产系统上,有大量以zip和rar结尾的压缩文件散落在文件系统的各个文件夹,先在需要把压缩包里包含某一个特定文件(如tftpd32.exe或Tftpd32.exe,版本较旧),全都替换成比较新的tftpd32.exe...

    本需求是自己负责的一个生产系统上,有大量以zip和rar结尾的压缩文件散落在文件系统的各个文件夹,先在需要把压缩包里包含某一个特定文件(如tftpd32.exe或Tftpd32.exe,版本较旧),全都替换成比较新的tftpd32.exe版本。压缩文件总数约5000个,需要替换的数量约1500个。

    因为是生产环境,不敢轻易乱动,所以脚本考虑的因素就非常多,不允许中间执行过程出现异常,所以找到文件后实际执行替换操作之前做好备份,并且将操作过程记录日志。

    以下几点需要考虑:

    分别处理zip和rar文件,为减低脚本的复杂程度,分作两个shell脚本。

    rar在Linux下默认是没有安装解压缩工具,下载rarlinux-x64-5.2.0.tar.gz

    zip包中文件含有中文文件名,unzip测试解压缩或列出内容时出现文件名乱码,原因是zip在压缩时不记录当时的编码格式。这个问题非常棘手,乱码打进压缩包是绝对不允许的,网上有几种解压办法有几种办法都不能很好的应对我的场景:并不需要实际解压zip文件,而只需使用 l ——列出文件列表、获取目录及文件名,d ——从压缩包中直接删除某个文件,a ——向压缩包添加一个文件。实际解压到文件系统上是不是乱码我们并不关心。

    最后的解决办法是使用p7zip工具,配合LANG变量解决。

    向压缩包里添加新文件时,要保持里面的目录结构,则必须在文件系统上存在同样的 相对目录/文件 。所以每次都要在脚本执行目录下创建临时目录tmp_dir,还要及时删除。但如果文件在压缩包的根目录下,这个临时目录就是当前脚本执行目录。

    有可能会存在一个压缩包中多个文件夹中包含不止一个tftpd32.exe文件。

    每个文件都有一个CRC值,处理文件名大小写不同但实质是同一个文件时有效。

    以下脚本使用说明:

    变量说明

    filelist 变量设定你所需要检查的压缩文件列表(绝对路径),可以通过find /your/dir/ -name *.rar | sort | uniq > testfile。与脚本在相同目录下

    existlist 变量是从filelist文件中得到的包含特定文件的列表,脚本执行完后可以查看

    errorlist 变量是从filelist文件列表中得到的不包含特定文件的列表,当然也有可能这个压缩文件本身不完整

    filebak 变量指定要替换的那个压缩文件备份的目录

    oldfile 指定要替换的那个文件名

    newfile 指定新文件的文件名,注意这个文件一定要在脚本当前目录下

    binrar,bin7z 指定解压缩命令目录,因为7z和rar都不是CentOS自带的

    fl 是filelist文件列表里的每一条记录

    exist 压缩文件fl的内容列表里包含tftpd32.exe的记录,可能有多行

    dirfiles 处理exist的结果,形如压缩包里的目录结构 your/dir/tftpd32.exe,可能有多行

    df 是dirfiles中的单行记录,它的前面目录部分便是tmp_dir

    是否有必要root用户执行看个人情况,执行后部分文件的属主可能会变,可用chown user1.user1 -R /your/dir/恢复

    有部分zip文件无法使用7z,但文件本身正常,从日志可以看到error信息

    tftpd32.exe区分大小写,如果要查找替换Tftpd32.exe请修改后在执行(确保grep没有-i选项)

    可以处理的情况

    压缩文件中无tftpd32.exe

    要替换的tftpd32.exe文件在压缩文件根目录下

    要替换的tftpd32.exe在嵌套子目录中

    压缩文件中存在多个tftpd32.exe

    压缩文件本身存在问题

    该脚本有一定的危险性(虽然已备份),在正式环境中运行之前一定要多做测试。并且运行一次之后,谨慎运行第二次,因为可能会导致备份被覆盖(可换备份目录)

    假如出现异常,要从备份文件恢复所有修改的文件,可以根据$existlist和filebak下的目录列表拼凑cp语句

    建议执行方法./rar_new.sh | tee your.log,事后可从your.log中查看日志

    处理rar的脚本rar_new.sh:

    #!/bin/bash

    filelist="testfile"

    # filelist="crm_rar.txt"

    existlist="${filelist}.exist"

    errorlist="${filelist}.not"

    filebak="/crmbak/rarbak"

    oldfile=tftpd32.exe

    newfile=tftpd32.exe

    binrar="/usr/bin/rar"

    IFS=$'\n'

    echo "files list bellow have ${oldfile}:" > $existlist

    echo "files list bellow do not have ${oldfile} or may have error:" > $errorlist

    for fl in `cat $filelist`

    do

    # ${oldfile} exist or not, file error or not

    exist=`$binrar l $fl |grep ${oldfile}`

    if [ $? -ne 0 ];then

    echo "$fl" >> $errorlist

    continue

    else

    # get extracting dir and filename, could be more than one file

    dirfiles=`echo "$exist" | awk '{for (i=5;i<=NF;i++) printf $i" " ; print ""}'`

    fi

    # echo "$exist"

    if [ "$dirfiles" != "" ];then

    echo "$fl" | tee -a $existlist

    # backup original file

    /bin/cp -af "$fl" "$filebak/"

    echo "--- $fl is backed up in $filebak"

    echo " $dirfiles"

    for df in `echo "$dirfiles"`

    do

    # create temp directory to put new ${newfile} for compress

    tmp_dir=$( echo "$df" | awk -F '/' '{for(i=1;i

    if [ ${#tmp_dir} -ne 0 ];then

    mkdir -p "$tmp_dir" && cp -af ${newfile} "$tmp_dir"

    fi

    # start delete old file and add new one

    $binrar d "$fl" "$tmp_dir"${oldfile} && $binrar a "$fl" "$tmp_dir"${newfile}

    if [ $? -ne 0 ];then

    echo "--- rar file $fl may have error, you SHOULD check it"

    fi

    if [ ${#tmp_dir} -ne 0 ];then

    rm -f "$tmp_dir"${newfile} && rmdir -p "$tmp_dir"

    if [ $? -ne 0 ];then

    echo "--- tmp_dir $tmp_dir delete fail"

    fi

    fi

    done

    echo "--- old deleted, new added"

    fi

    done

    处理zip的脚本zip_new.sh:

    #!/bin/bash

    # filelist="test_filelist"

    filelist="crm_zip.txt"

    existlist="${filelist}.exist"

    errorlist="${filelist}.not"

    filebak="/crmbak/zipbak"

    oldfile=Tftpd32.exe

    newfile=tftpd32.exe

    bin7z="/usr/bin/7z"

    export LANG="zh_CN.GB18030"

    IFS=$'\n'

    echo "files list bellow have ${oldfile}:" > $existlist

    echo "files list bellow do not have ${oldfile} or may have error:" > $errorlist

    for fl in `cat $filelist`

    do

    # ${oldfile} exist or not, file error or not

    exist=`$bin7z l $fl |grep ${oldfile}`

    if [ $? -ne 0 ];then

    echo "$fl" >> $errorlist

    continue

    else

    # get extracting dir and filename, could be more than one file

    dirfiles=`echo "$exist" | awk '{for (i=6;i<=NF;i++) printf $i" " ; print ""}'`

    fi

    # echo ===== "$dirfiles"

    if [ "$dirfiles" != "" ];then

    echo "$fl" | tee -a $existlist

    # backup original file

    /bin/cp -af "$fl" "$filebak/"

    echo "--- $fl is backed up in $filebak"

    echo " $dirfiles"

    for df in `echo "$dirfiles"`

    do

    # create temp directory to put new ${newfile} for compress

    tmp_dir=$( echo "$df" | awk -F '/' '{for(i=1;i

    if [ ${#tmp_dir} -ne 0 ];then

    mkdir -p "$tmp_dir" && cp -af ${newfile} "$tmp_dir"

    fi

    # start delete old file and add new one

    $bin7z d "$fl" "$tmp_dir"${oldfile} && $bin7z a "$fl" "$tmp_dir"${newfile}

    if [ $? -ne 0 ];then

    echo "--- zip file $fl may have error, you SHOULD check it"

    fi

    if [ ${#tmp_dir} -ne 0 ];then

    rm -f "$tmp_dir"${newfile} && rmdir -p "$tmp_dir"

    if [ $? -ne 0 ];then

    echo "--- tmp_dir $tmp_dir delete fail"

    fi

    fi

    done

    echo "--- old deleted, new added"

    fi

    done

    展开全文
  • 从云服务器上下载文件,以压缩包方式下载以下载文件为例,需要导入zip4j的jar包,版本不要太高public void downloadZip(List list, HttpServletRequest request, HttpServletResponse response) {String ...
  • php 把文件打成压缩包 ,可以去搜下 pclzip搜地方没有找到对压缩包进行加密操作的。如果服务器是linux 那么见代码:$filename="test.csv";file_put_contents($filePath,"1\t 2\t 3\n1\t 2\t 3\n1\t 2\t 3\n");...
  • rar格式的文件是一种常见的压缩包文件,可以有效的把大文件压缩成小文件,压缩率非常的高,那么很多朋友想要了解如何打开rar文件,下面小编教大家rar文件正确的打开方式。电脑小白用户第一次收到朋友发来了rar文件,...
  • 不管是生活还是工作需要,经常需要把文件...rar是目前比较流行的压缩文件的格式,相对于zip格式的压缩文件更具安全性,所以受到很多用户的青睐,那么很多小伙伴还不知道如何打开rar格式的文件,下面小编教你如何打开...
  • 加密的压缩包文件如何解压

    千次阅读 2021-08-30 11:56:54
    找到压缩包密码也有很多途径,比如找设置密码的人、或者是输入现在网站的网址、一些常见的简单的密码、破解软件,比如奥凯丰 压缩包解密大师。 将压缩包(支持rar、zip、7z格式)添加到软件中,选择一个合适的找回...
  • 关于java下载文件的时候, 多是把很多文件压缩成压缩包之后在下载, 之前在网上查了一些资料, 将文件压缩成压缩包, 最近又使用到这个, 所以记录一下, 方便后续可能再次使用到。 代码片. import java.io.*; import java...
  • 如果您从互联网上下载了许多程序和文件,可能会遇到很多压缩文件,而压缩包是压缩文件或压缩文件夹的载体,将压缩包进行解压操作后,能够得到对应压缩文件的原始文件,但是有时解压后没有得到文件就会非常令人困惑了...
  • 我正在使用以下代码,我在其中传递.pdf文件名及其路径来创建zip文件。for f in lstFileNames:with zipfile.ZipFile('reportDir' + str(uuid.uuid4()) + '.zip', 'w') as myzip:myzip.write(f)虽然它只存档一个文件。...
  • 很简单,我们可以将文件压缩,然后发至对方的邮箱就可以了,很多网友应该不知道怎么压缩吧!下面小编就为大家带来电脑压缩文件的详细教程,不懂的朋友直接参照下面的步骤就可以了。电脑怎么压缩文件:鼠标右键点击一...
  • 最近写代码需要实现文件和文件夹的打包,然后就发现了zip4j,个人用下来感觉zip4j好用,再加上发现了个坑,在网上找了半天,发现一堆重复的文章,加上也没人说明这个坑,所以自己写篇文章,做个笔记,如有错误还请...
  • Winhex是一款非常优秀的16进制编辑器,事实上,使用winhex单纯进行16进制编译在某些程度上有些大材小用,市场上难找到像winhex一样功能强大的16进制编辑器。当然,它是收费的。本节课我们使用的是winhex的评估版本...
  • 当我们想要更新压缩包(zip, ear应该还包括很多)里的文件(包括文件夹)时,可以通过调用7z这个工具去完成。 import部分: import java.io.BufferedReader; import java.io.IOException; import java.io....
  • 如果前端的代码很多, 而且包含大副的图片,那么就可以把js和css和jpg和png等各种数据通过服务端打包成zip传送到浏览器, 浏览器负责解压, css实用动态生成插入到dom中,js也用globalEval直接执行, jp...
  • 说它简单呢,你直接打个压缩包加密就搞定了 要说他复杂呢?你还得掌握一点电脑权限设置、硬盘管理的知识 ▍1 只是为了防止小孩误删 但实际上这个问题,我觉得应该分具体场景来讨论 我觉得很多人其实并不真的需要文件...
  • 前置知识 file 命令根据文件头,识别文件类型,如果文件头前边有数据就识别不出来了 strings 输出文件中的可打印字符 可以发现一些提示信息或者特殊编码的信息 可以配合-o参数获取所有的ASCII字符...个压缩文件
  • .7z解压文件末端错误 如何解压...:已测试现在很多网盘会有限制上传单个文件的大小,比如百度网盘用网页上传最大是1G,用百度网盘客户端上传可以4G。我们拿一1G来比喻,一个地图3G,要上传到百度网盘就要分成三份。...
  • 本文主要是告诉大家一个省内存的方法,将整个文件夹的内容作为一个压缩包输出,但是实际上没有申请那么的内存,也不需要升级创建一个压缩包文件。原理是通过逐个读文件然后按照压缩包格式输出 在每个请求的方法...
  • linux查找文件并加入压缩包中。find -name '*.log' | xargs grep -l 'cart' //查找当前目录下后缀为.log的文件,然后使用xargs查询每个文件里面是否含有关键词cart或者find -name '*.php' exec grep -l 'test' {} ;...
  • 前一阵给大家介绍了一个PDF文件密码移除的工具,不过很多小伙伴表示更想要压缩包密码的pojie软件。今天呢,“事儿哥”就给大家介绍一个神奇的工具,让你轻松搞定zip压缩包密码。需要的小伙伴们赶紧拿出电脑收藏吧!...
  • 原因很多,首先就是压缩,游戏中使用的图片等资源都是极其适合压缩的,这样就减小了游戏的体积。如果把《红色警戒2》的资源全部解开相信会超过3G。其次压缩后文件体积的减小会带来读盘速度的显著提高。通常一个2M的...
  • 压缩包设置密码

    千次阅读 2021-05-12 10:33:58
    压缩包设置密码不是在文件变成压缩包之后再...然后就会有一个设置弹框出来,我们可以看到有很多可以设置的选项,设置密码就选择上方列表里面的【密码】 输入你想设置的密码,点击【确定】就完成了压缩包密码的设置
  • 一、zip压缩首先安装zip与unzipyum install -y zip/unzipzip 1.txt.zip 1.txt压缩文件1.txt,压缩文件名称为1.txt.zipzip -r 123.zip 123/压缩文件夹123/ 指定名称123.zipunzip 1.txt.zipzip压缩文件并不会删除...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,244
精华内容 42,897
关键字:

很多文件怎么压缩包