精华内容
下载资源
问答
  • 问题如下:压缩文件正常有8.5M,15个文件,但360压缩打开只有一个空文件。 解决办法:如果,压缩文件右键→打开方式→Windows资源管理器,就可以打开了。

    问题如下:压缩文件正常有8.5M,15个文件,但360压缩打开只有一个空文件。

    解决办法:如果,压缩文件右键→打开方式→Windows资源管理器,就可以打开了。

    展开全文
  •   首先看一下Java创建文件目录的代码: /** * 创建文件路径 * @param imagePath * @return */ public boolean makeParentFolder(String imagePath){ File parentFile = new File(imagePath); ...

      首先看一下Java创建文件目录的代码:

        /**
         * 创建父文件路径
         * @param imagePath
         * @return
         */
        public boolean makeParentFolder(String imagePath){
            File parentFile = new File(imagePath);
            if(parentFile != null){
                while (!parentFile.exists()){
                    //批量生成全部的父文件路径
                    parentFile.mkdirs();
                }
                return true;
            }
            return false;
        }

      上面代码的意思是在makeParentFolder()方法中,传入图片文件路径,如果创建成功,返回true,否则返回false。

      比如说在windows中的创建目录语句就是如此:

    2018\\06\\27\\PM

      但是当项目被发布到linux服务器中时,它却出现了问题,当我们再次运行上面的语句,其上传上去的图片却找不到了。后来经过仔细分析,我们终于发现其产生的根本原因。

      在Windows中,其目录分隔符是正斜杠/与两个反斜杠\\都是被认可的,所以说上面传入的图片文件夹路径在Windows中本身没有任何问题,但是在Linux中则不是如此,在Linux中,由于其只认正斜杠/,因而上面的文件夹路径在Linux中会被认为是一个文件夹的包名,故其只生成一个名为\2018\06\27\PM\的文件夹。由于项目的图片文件夹层级处理错误,所以自然是找不到我们所上传上去的图片了。

      正常的解决办法就是,将文件夹的分隔符全部由两个反斜杠\\改成一个正斜杠/,这样项目在Windows下与Linux下都能正常运行了。

    展开全文
  • * @param isCreateDir 是否在压缩文件创建目录,仅在压缩文件为目录时有效. * 如果为false,将直接压缩目录下文件到压缩文件. * @param passwd 压缩使用的密码 * @return 最终的压缩文件存放的绝对路径,...
  •  log.error("创建ZIP文件失败",e);  } finally {  try {  if (zos != null) {  zos.close();  }  } catch (IOException e) {  log.error("创建ZIP文件失败",e);  }    } ...

    直接上示例:


    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Date;

    import org.apache.tools.zip.ZipEntry;
    import org.apache.tools.zip.ZipOutputStream;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;

    public class TestCreateZip {

        private static final Logger log = LoggerFactory.getLogger(TestCreateZip.class);  
          
        private TestCreateZip(){};  
       /**
         * 创建ZIP文件
         * @param sourcePath 文件或文件夹路径
         * @param zipPath 生成的zip文件存在路径(包括文件名)
         */  
        public static void createZip(String sourcePath, String zipPath) {  
            FileOutputStream fos = null;  
            ZipOutputStream zos = null;  
            try {  
                fos = new FileOutputStream(zipPath);  
                zos = new ZipOutputStream(fos);  
                zos.setEncoding("gbk");//此处修改字节码方式。  
                writeZip(new File(sourcePath), "", zos);  
            } catch (FileNotFoundException e) {  
                log.error("创建ZIP文件失败",e);  
            } finally {  
                try {  
                    if (zos != null) {  
                        zos.close();  
                    }  
                } catch (IOException e) {  
                    log.error("创建ZIP文件失败",e);  
                }  
     
            }  
        }  
     
        private static void writeZip(File file, String parentPath, ZipOutputStream zos) {  
            if(file.exists()){  
                if(file.isDirectory()){//处理文件夹  
                    parentPath+=file.getName()+File.separator;  
                    File [] files=file.listFiles();  
                    if(files.length != 0){  
                        for(File f:files){  
                            writeZip(f, parentPath, zos);  
                        }  
                    }else{       //空目录则创建当前目录  
                        try {  
                            zos.putNextEntry(new ZipEntry(parentPath));  
                        } catch (IOException e) {  
                            e.printStackTrace();  
                        }  
                    }  
                }else{  
                    FileInputStream fis=null;  
                    try {  
                        fis=new FileInputStream(file);  
                        ZipEntry ze = new ZipEntry(parentPath + file.getName());  
                        zos.putNextEntry(ze);  
                        byte [] content=new byte[1024];  
                        int len;  
                        while((len=fis.read(content))!=-1){  
                            zos.write(content,0,len);  
                            zos.flush();  
                        }  
     
                    } catch (FileNotFoundException e) {  
                        log.error("创建ZIP文件失败",e);  
                    } catch (IOException e) {  
                        log.error("创建ZIP文件失败",e);  
                    }finally{  
                        try {  
                            if(fis!=null){  
                                fis.close();  
                            }  
                        }catch(IOException e){  
                            log.error("创建ZIP文件失败",e);  
                        }  
                    }  
                }  
            }  
        }   
          
        public static void main(String[] args) {  
            TestCreateZip.createZip("D:\\baiduyun\\com\\demo","D:\\baiduyun\\com\\demo"+new Date().getTime()+".zip");
        }
    }


    展开全文
  • java压缩压缩包使用的是java.util.zip下的ZipOutputStream 如果是空目录,可以选择压缩父目录...其实压缩文件是对每一个文件都压缩,所以如果是压缩文件夹,会对该文件夹下的所有文件及其子文件夹下的所有文件都压缩。

    之前一般用普通文件流较多,没用过打压压缩包,学习了一下
    java压缩压缩包使用的是java.util.zip下的ZipOutputStream
    如果是空目录,可以选择压缩父目录。其实压缩文件是对每一个文件都压缩,所以如果是压缩文件夹,会对该文件夹下的所有文件及其子文件夹下的所有文件都压缩。上代码:

    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    import java.net.URLEncoder;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    
    /**
     * @author zjg
     * @date 2018/5/20 0:58
     * @Description
     */
    public class Main {
    
        static Logger log = (Logger) LoggerFactory.getLogger(Main.class);
        /**
         * 创建ZIP文件
         * @param sourcePath 目标文件或文件夹路径
         * @param filePathAndName 生成的zip文件存在路径(包括文件名)
         */
        public static void createZip(String sourcePath, String filePathAndName) {
            ZipOutputStream zos = null;
            try {
                //实际上此压缩包并不存在,只是目标压缩包文件
                FileOutputStream fos = new FileOutputStream(filePathAndName);
                zos = new ZipOutputStream(fos);
                //如果是浏览器请求下载zip
    //            OutputStream os = httpResponse.getOutputStream();
    //            zos = new ZipOutputStream(os);
    //            String fileNameUnEncode = URLEncoder.encode(filePathAndName,"UTF-8"); //更改文件编码,将压缩包命名为中文
    //            httpResponse.reset();
    //            httpResponse.setContentType("application/msexcel");
    //            httpResponse.setHeader("Content-disposition", "attachment; filename="+fileNameUnEncode+".zip");
                writeZip(new File(sourcePath), "", zos);
            } catch (FileNotFoundException e) {
                log.error("创建ZIP文件失败",e);
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (zos != null) {
                        zos.close();
                    }
                } catch (IOException e) {
                    log.error("创建ZIP文件失败",e);
                }
    
            }
        }
    
        /**
         * 压缩zip,循环压缩子目录文件
         */
        private static void writeZip(File file, String parentPath, ZipOutputStream zos) {
            if(file.exists()){
                if(file.isDirectory()){//处理文件夹
                    parentPath+=file.getName()+File.separator;
                    File [] files=file.listFiles();
                    if(files.length != 0)
                    {
                        for(File f:files){
                            writeZip(f, parentPath, zos);
                        }
                    }
                    else
                    {       //空目录则创建当前目录
                        try {
                            zos.putNextEntry(new ZipEntry(parentPath));
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }else{
                    FileInputStream fis=null;
                    try {
                        fis=new FileInputStream(file);
                        ZipEntry ze = new ZipEntry(parentPath + file.getName());//创建压缩文件
                        zos.putNextEntry(ze);//添加压缩文件
                        byte [] content=new byte[1024];
                        int len;
                        while((len=fis.read(content))!=-1){
                            zos.write(content,0,len);
                            zos.flush();
                        }
    
                    } catch (FileNotFoundException e) {
                        log.error("创建ZIP文件失败",e);
                    } catch (IOException e) {
                        log.error("创建ZIP文件失败",e);
                    }finally{
                        try {
                            if(fis!=null){
                                fis.close();
                            }
                        }catch(IOException e){
                            log.error("创建ZIP文件失败",e);
                        }
                    }
                }
            }
        }
    
        public static void main(String[] args) {
            createZip("C:\\2016-2017上半学期原始成绩","E:\\java压缩包.zip");
        }
    }
    
    展开全文
  • 自动解压目录及子目录下所有压缩文件的批处理(偷懒专用 )
  • Java面试题大全(2020版)

    万次阅读 多人点赞 2019-11-26 11:59:06
    Files.delete():删除一个文件目录。 Files.copy():复制文件。 Files.move():移动文件。 Files.size():查看文件个数。 Files.read():读取文件。 Files.write():写入文件。 二、容器 18. java 容器都有哪些?...
  • * @param isCreateDir 是否在压缩文件创建目录,仅在压缩文件为目录时有效. * 如果为false,将直接压缩目录下文件到压缩文件. * @param passwd 压缩使用的密码 * @return 最终的压缩文件存放的绝对...
  • 经过自己的探索,对业务场景的各种业务都... * 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下   * @param sourceFilePath :待压缩文件路径   * @param zi...
  • 2021年前端面试题及答案

    万次阅读 多人点赞 2020-02-11 19:29:34
    最有效的,将文件上传目录直接设置为不可执行,对于Linux而言,撤销其目录的'x'权限;实际中很多大型网站的上传应用都会放置在独立的存储上作为静态文件处理,一是方便使用缓存加速降低能耗,二是杜绝了脚本执行的...
  • Java 多文件加密压缩 添加文件加密压缩工具包依赖 <!-- zip4j压缩工具 --> <dependency> <groupId>net.lingala.zip4j</groupId> <artifactId>zip4j</artifactId> <...
  • 用CreateDirectory创建文件目录

    千次阅读 2016-01-24 10:00:16
    CreateDirectory这个函数的作用是创建一个新的目录。如果底层文件系统支持文件目录上的安全描述,该功能可将指定的安全描述到新的目录。 函数原型: BOOL CreateDirectory( LPCTSTR lpPathName, LPSECURITY_...
  • 第五章-Linux实操篇

    千次阅读 多人点赞 2019-10-24 18:45:20
    给原文件创建一个软链接 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H52YgVw0-1571913902526)(/pic/6-1569569340608.png)] 删除软链接 rm -rf LinkToROot 当用...
  • ZIP解压缩文件的工具类【支持多级目录|全】 作者:Vashon 网上有很多的加压缩示例代码,但是都只是支持一级目录的操作,如果存在多级目录的话就不行了。本解压缩工具类经过多次检查及重构,最终分享给大家。 为了...
  • fs.mkdir创建目录报错

    千次阅读 2019-05-13 22:45:11
    fs.mkdir创建不了多层目录? ...的时候遇到一个问题:mkdir创建不了目录,总是报找不到该文件的错。 源目录: 在执行gulp任务时,流程中有一个步骤是需要创建dist/img/目录: 主要代码如下: f...
  • 学习Java压缩zip文件压缩单个文件和多个文件,不包含文件夹;怎样用Java将文件追加到zip文件中。测试类:/** * @FileName:ZipTest.java * @Description: TODO * @Copyright: All rights Reserved, Designed By ...
  • // 如果压缩路径为目录,则将要压缩的文件或目录名做为压缩文件的名字,这里压缩路径不以“.zip”为结尾则认为压缩路径为目录 if(!zipPath.endsWith(".zip")){ // 如果将要压缩的路径为目录,则以此目录名为...
  • java压缩文件并加密,发送到邮箱

    千次阅读 2018-06-28 16:53:16
    日常记录目标,我们需要把文件进行压缩 并进行加密设置密码,并发送到指定的邮箱,这是需求 首先把工具类贴出来我们需要导入一个jar包 winzipaes-1.0.1.jar上传了一下,告诉已经存在了所以,有看到的去找下吧, ...
  • 解压 zip,rar 类型的压缩文件 1、首先需要 jar 包 ant-1.6.5.jar :解压zip格式的压缩文件
  • Linux 命令面试题

    万次阅读 多人点赞 2019-07-24 09:40:04
    Linux面试题: 1.Linux常用系统安全命令 ...chmod // 用来变更文件目录的权限 setfacl // 设置文件访问控制列表 2.Linux常用进程管理命令 w // 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。 top ...
  • 昨天下载了一个将近一G的软件,在解压时,提示“CRC校验失败,文件被破坏”,不至于再重新下载吧,需要四个多小时呢,网上的方法也试了好多种,都不好用...  我采用的方法很简单:在没有解压完(提示出错的情况下)...
  • java 多文件压缩后下载(zip)

    千次阅读 2019-06-21 10:01:43
    说明:从服务器上读取文件流写入到zip流中后下载 本工具可以直接拿去使用 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletResponse; import java.io.*; ...
  • 用python进行批量文件的解压缩/压缩批量文件7z的命令行参数7z压缩文件的命令行参数7z解压文件的命令行参数 7z的命令行参数 python可以通过subprocess模块的相关函数运行外部程序,完成一些操作。如本文要介绍的...
  • WinRAR压缩文件参数详解

    千次阅读 2017-02-10 18:14:14
    将D:/wk.doc 压缩为:final.rar  d:/winrar/rar a d:/final.rar d:/wk.doc  将final.rar中的wk.doc解压到F:盘  rar e d:/final.rar F:  将final.rar转换成自解压文件  rar s final,rar(默认转换到...
  • * 压缩文件和空目录 * * @param prefix * @param src * @param zos * @throws IOException */ private static void compressFile(String prefix, File src, ZipOutputStream zos) throws IOException { //...
  • Java实现将文件或者文件夹压缩成zip

    千次阅读 2018-09-19 10:11:34
    (5)代码中提供了2个压缩文件的方法,一个的输入参数为文件夹路径,一个为文件列表,可根据实际需求选择方法。    下面直接上代码 一、代码 import java.io.File; import java.io....
  • 完美可用-DirectX修复工具增强版DirectX Repair

    万次阅读 热门讨论 2018-12-06 11:19:34
    DirectX修复工具最新版:DirectX Repair...大小: 107MB/7z格式压缩,189MB/zip格式压缩,322MB/解压后 其他版本:标准版 在线修复版 MD5校验码:DirectX Repair.exe/0615325098da4e624ef854af60b56ba2  DirectX_...
  • MFC用CreateDirectory创建文件目录

    万次阅读 2015-08-19 09:42:46
    CreateDirectory这个函数的作用是创建一个新的目录。如果底层文件系统支持文件目录上的安全描述,该功能可将指定的安全描述到新的目录。 函数原型: BOOL CreateDirectory(  LPCTSTR lpPathName,  LPSECURITY_...
  • 出现“因为我们不能复制一些文件,升级未被安装。这通常是因为存在不一致的文件权限”说到底还是权限的问题,如果你是apache的话,权限设置必须要给足够;否则你升级是不能成功的; Centos+Apache+MySQL +PHP 在线...
  • 目前做的一个vue项目当中引入了外部的字体文件,打包之后测试发现加载过慢,需等待较长时间才能看到效果,特此记录在vue项目中压缩字体的操作. 安装字蛛 字蛛是一个中文字体压缩器,通过分析本地 CSS 与 HTML 文件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 90,410
精华内容 36,164
关键字:

压缩文件创建目录失败