精华内容
下载资源
问答
  • 注册机解压缩后空文件解决方案

    千次阅读 2020-07-06 13:05:32
    注册机解压缩后空文件解决方案太长不看版现象解决方案 太长不看版 Windows安全中心-病毒和威胁防护-保护历史记录-还原被系统隔离的威胁 现象 被迫进行破解软件的安装时,有时会出现这种情况:注册机文件解压缩后...

    注册机解压缩后为空文件解决方案

    太长不看版

    解决方案:Windows安全中心-病毒和威胁防护-保护历史记录-还原被系统隔离的威胁

    安利:Autodesk公司软件(包括CAD,Inventor等)可在官网获取学生免费版

    现象

    被迫进行破解软件的安装时,有时会出现这种情况:注册机文件解压缩后程序被警告无法运行,几秒钟后破解程序被自动删除。之前没注意,以为是压缩包解压时出现故障,重复解压/换解压软件仍无效。

    电脑情况:购机自带win10家庭版,无外装杀毒软件,一直使用默认的Windows Defencer

    解决方案

    1. 通过搜索栏进入windows安全中心看到这还挺正常的
    2. 点击进入第一项病毒和威胁防护
      看到无当前威胁是不是还挺欣慰的,但其实就是它阻止了你的注册机╮(╯-╰)╭
      在这里插入图片描述
    3. 于上图点开蓝色小字保护历史记录后,发现惊喜(惊吓 )如下:
      这个时间点,是偶然,还是必然(⊙ˍ⊙)?
      在这里插入图片描述
    4. 不信邪的你继续点开详情,真相却让你难受。
      选择允许,重新解压注册机,一切终于步上了正轨。
      在这里插入图片描述
    5. 注意!如果你是学生或教师,可以百度搜索欧特克学生设计联盟,进入官网注册后就可以免费使用一年期正版软件,正版免费它不香吗§( ̄▽ ̄
      在这里插入图片描述在这里插入图片描述
    展开全文
  • Java实现zip文件压缩与解压缩--附完整代码

    万次阅读 多人点赞 2019-07-26 14:54:09
    Java实现文件压缩与解压缩-----zip、.7z1. 基本概念1.1 Java中实现zip的压缩与解压缩1.1.1 基本概念1.1.2 zip压缩代码实现1.3 zip压缩代码改进 1. 基本概念 1.1 Java中实现zip的压缩与解压缩 1.1.1 基本概念 ...

    Java中实现zip的压缩与解压缩

    1 基本概念

    1. ZipOutputStream 实现文件的压缩
    • ZipOutputStream (OutputStream out) 创建新的zip输出流
    • void putNextEntry(ZipEntry e) 开始写入新的zip文件条目并将流定位到条目数据的开始处
      条目指的是一个文件夹下的多个文件。
    • ZipEntry(String name) 使用指定名称创建新的zip条目
    1. ZipIutputStream实现文件的解压
    • ZipIutputStream (IutputStream out) 创建新的zip输入流
    • ZipEntry getNextEntry()读取下一个zip条目并将流定位到该条目数据的开始处

    2 zip压缩

    2.1 zip压缩代码实现

    1. 程序完整代码
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    
    public class Uzip {
        /**
         * 压缩
         */
    
        public static void zip(String input, String output, String name) throws Exception {
        //要生成的压缩文件
            ZipOutputStream out = new ZipOutputStream(new FileOutputStream(output));
            String[] paths = input.split("\\|");
            File[] files = new File[paths.length];
            byte[] buffer = new byte[1024];
            for (int i = 0; i < paths.length; i++) {
                files[i] = new File(paths[i]);
            }
            for (int i = 0; i < files.length; i++) {
                FileInputStream fis = new FileInputStream(files[i]);
                if (files.length == 1 && name != null) {
                    out.putNextEntry(new ZipEntry(name));
                } else {
                    out.putNextEntry(new ZipEntry(files[i].getName()));
                }
                int len;
                // 读入需要下载的文件的内容,打包到zip文件
                while ((len = fis.read(buffer)) > 0) {
                    out.write(buffer, 0, len);
                }
                out.closeEntry();
                fis.close();
            }
            out.close();
        }
    
        public static void main(String[ ] args){
            try {
                zip("E:\\Testzip\\test\\ytt.html","E:\\Test.zip","testytt");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    

    maven依赖:

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-compress</artifactId>
            <version>1.12</version>
        </dependency>
    
    1. 运行程序:

    在这里插入图片描述

    3.程序解读:

    • ZipEntry(String name) 只能实现一个固定条目的压缩,也就是你压缩什么就得写仔细它的路径,多个子文件压缩写法如下:
    public static void main(String[ ] args){
            try {
                zip("E:\\Testzip\\test\\ytt.html|E:\\Testzip\\uugg.html","E:\\Test.zip",null);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    注意

    一定要写全E:\\Testzip\\test\\ytt.html,如果写E:\\Testzip\\test\\ytt会报错,报错信息无访问权限。

    String input :定义的是待压缩文件的条目。

    String output:定义得到的压缩文件包.zip的名字。

    String name:定义压缩后的条目的名字,如果与压缩前保持一致,定义name为null即可。

    此程序无法实现对空文件夹的压缩。

    2.2 zip压缩代码改进

    改进的代码可以实现对任意文件的压缩,注意要写全文件类型,比如ytt.html,不允许省略.html。

    import java.io.*;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    
    /**
     * date: 2019/07/26
     * writed by yangtingting
     */
    public class FileZip {
        /**
         * zip文件压缩
         * @param inputFile 待压缩文件夹/文件名
         * @param outputFile 生成的压缩包名字
         */
    
        public static void ZipCompress(String inputFile, String outputFile) throws Exception {
            //创建zip输出流
            ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outputFile));
            //创建缓冲输出流
            BufferedOutputStream bos = new BufferedOutputStream(out);
            File input = new File(inputFile);
            compress(out, bos, input,null);
            bos.close();
            out.close();
        }
        /**
         * @param name 压缩文件名,可以写为null保持默认
         */
        //递归压缩
        public static void compress(ZipOutputStream out, BufferedOutputStream bos, File input, String name) throws IOException {
            if (name == null) {
                name = input.getName();
            }
            //如果路径为目录(文件夹)
            if (input.isDirectory()) {
                //取出文件夹中的文件(或子文件夹)
                File[] flist = input.listFiles();
    
                if (flist.length == 0)//如果文件夹为空,则只需在目的地zip文件中写入一个目录进入
                {
                    out.putNextEntry(new ZipEntry(name + "/"));
                } else//如果文件夹不为空,则递归调用compress,文件夹中的每一个文件(或文件夹)进行压缩
                {
                    for (int i = 0; i < flist.length; i++) {
                        compress(out, bos, flist[i], name + "/" + flist[i].getName());
                    }
                }
            } else//如果不是目录(文件夹),即为文件,则先写入目录进入点,之后将文件写入zip文件中
            {
                out.putNextEntry(new ZipEntry(name));
                FileInputStream fos = new FileInputStream(input);
                BufferedInputStream bis = new BufferedInputStream(fos);
                int len;
                //将源文件写入到zip文件中
                byte[] buf = new byte[1024];
                while ((len = bis.read(buf)) != -1) {
                    bos.write(buf,0,len);
                }
                bis.close();
                fos.close();
            }
        }
        public static void main(String[] args) {
            try {
                ZipCompress("D:\\Test", "D:\\TestbyYTT.zip");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    
    

    3 zip解压

    3.1 zip不完美实现

    1. 这个网上有很多代码的,比如:
    package file;
     
    import java.io.*;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipFile;
    import java.util.zip.ZipInputStream;
     
    public class Decompressing {
        public static void main(String[] args) {
            File file = new File("E:\\hello.zip");//当前压缩文件
            ZipInputStream zin;//创建ZipInputStream对象
            try {
                ZipFile zipFile = new ZipFile(file);//创建压缩文件对象
                zin = new ZipInputStream(new FileInputStream(file));//实例化对象,指明要解压的文件
                ZipEntry entry ;
                while (((entry=zin.getNextEntry())!=null)&& !entry.isDirectory()){//如果entry不为空,并不在同一个目录下
                    File tmp = new File(entry.getName());//解压出的文件路径
                    if (!tmp.exists()){//如果文件不存在
                        tmp.getParentFile().mkdirs();//创建文件父类文件夹路径
                        OutputStream os = new FileOutputStream(tmp);//将文件目录中的文件放入输出流
                        //用输入流读取压缩文件中制定目录中的文件
                        InputStream in = zipFile.getInputStream(entry);
                        int count = 0;
                        while ((count = in.read())!=-1){//如有输入流可以读取到数值
                            os.write(count);//输出流写入
                        }
                        os.close();
                        in.close();
                    }
                    zin.closeEntry();
                    System.out.println(entry.getName()+"解压成功");
                }
                zin.close();
     
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
     
    }
    

    以上代码运行时会抛出异常!!!!!!!!!

    做出相应更改:

    import java.io.*;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipInputStream;
    
    /**
     * date:2019/7/26
     * writed by yangtingting
     */
    
    public class zipUncompress {
        /**
         * zip文件解压
         *
         * @param inputFile   待解压文件夹/文件
         * @param destDirPath 解压路径
         */
        public static void zipUncompress(String inputFile, String destDirPath) throws Exception {
            File srcFile = new File(inputFile);//获取当前压缩文件
            // 判断源文件是否存在
            if (!srcFile.exists()) {
                throw new Exception(srcFile.getPath() + "所指文件不存在");
            }
            //开始解压
            //构建解压输入流
            ZipInputStream zIn = new ZipInputStream(new FileInputStream(srcFile));
            ZipEntry entry = null;
            File file = null;
            while ((entry = zIn.getNextEntry()) != null) {
                if (!entry.isDirectory()) {
                    file = new File(destDirPath, entry.getName());
                    if (!file.exists()) {
                        new File(file.getParent()).mkdirs();//创建此文件的上级目录
                    }
                    OutputStream out = new FileOutputStream(file);
                    BufferedOutputStream bos = new BufferedOutputStream(out);
                    int len = -1;
                    byte[] buf = new byte[1024];
                    while ((len = zIn.read(buf)) != -1) {
                        bos.write(buf, 0, len);
                    }
                    // 关流顺序,先打开的后关闭
                    bos.close();
                    out.close();
                }
            }
        }
        public static void main(String[] args) {
            try {
                zipUncompress("D:\\ytt.zip", "D:\\ytt的解压文件\\");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    完美运行!!!

    3.2 zip解压完美实现

    改进后的代码

    import java.io.*;
    import java.util.Enumeration;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipFile;
    
    /**
     * date:2019/7/26
     * writed by yangtingting
     */
    
    public class zipUncompress {
        /**
         * zip文件解压
         * @param inputFile  待解压文件夹/文件
         * @param destDirPath  解压路径
         */
        public static void zipUncompress(String inputFile,String destDirPath) throws Exception {
            File srcFile = new File(inputFile);//获取当前压缩文件
            // 判断源文件是否存在
            if (!srcFile.exists()) {
                throw new Exception(srcFile.getPath() + "所指文件不存在");
            }
            ZipFile zipFile = new ZipFile(srcFile);//创建压缩文件对象
            //开始解压
            Enumeration<?> entries = zipFile.entries();
            while (entries.hasMoreElements()) {
                ZipEntry entry = (ZipEntry) entries.nextElement();
                // 如果是文件夹,就创建个文件夹
                if (entry.isDirectory()) {
                    String dirPath = destDirPath + "/" + entry.getName();
                    srcFile.mkdirs();
                } else {
                    // 如果是文件,就先创建一个文件,然后用io流把内容copy过去
                    File targetFile = new File(destDirPath + "/" + entry.getName());
                    // 保证这个文件的父文件夹必须要存在
                    if (!targetFile.getParentFile().exists()) {
                        targetFile.getParentFile().mkdirs();
                    }
                    targetFile.createNewFile();
                    // 将压缩文件内容写入到这个文件中
                    InputStream is = zipFile.getInputStream(entry);
                    FileOutputStream fos = new FileOutputStream(targetFile);
                    int len;
                    byte[] buf = new byte[1024];
                    while ((len = is.read(buf)) != -1) {
                        fos.write(buf, 0, len);
                    }
                    // 关流顺序,先打开的后关闭
                    fos.close();
                    is.close();
                }
            }
        }
        public static void main(String[] args) {
            try {
                zipUncompress("D:\\ytt.zip","D:\\ytt的解压文件");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    

    4 FileZip.class 实现.zip压缩与解压

    完整代码:

    import java.io.*;
    import java.util.zip.*;
    import java.util.zip.ZipEntry;
    
    /**
     * date: 2019/07/26
     * writed by yangtingting
     */
    public class FileZip {
        /**
         * zip文件压缩
         * @param inputFile 待压缩文件夹/文件名
         * @param outputFile 生成的压缩包名字
         */
    
        public static void ZipCompress(String inputFile, String outputFile) throws Exception {
            //创建zip输出流
            ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outputFile));
            //创建缓冲输出流
            BufferedOutputStream bos = new BufferedOutputStream(out);
            File input = new File(inputFile);
            compress(out, bos, input,null);
            bos.close();
            out.close();
        }
        /**
         * @param name 压缩文件名,可以写为null保持默认
         */
        //递归压缩
        public static void compress(ZipOutputStream out, BufferedOutputStream bos, File input, String name) throws IOException {
            if (name == null) {
                name = input.getName();
            }
            //如果路径为目录(文件夹)
            if (input.isDirectory()) {
                //取出文件夹中的文件(或子文件夹)
                File[] flist = input.listFiles();
    
                if (flist.length == 0)//如果文件夹为空,则只需在目的地zip文件中写入一个目录进入
                {
                    out.putNextEntry(new ZipEntry(name + "/"));
                } else//如果文件夹不为空,则递归调用compress,文件夹中的每一个文件(或文件夹)进行压缩
                {
                    for (int i = 0; i < flist.length; i++) {
                        compress(out, bos, flist[i], name + "/" + flist[i].getName());
                    }
                }
            } else//如果不是目录(文件夹),即为文件,则先写入目录进入点,之后将文件写入zip文件中
            {
                out.putNextEntry(new ZipEntry(name));
                FileInputStream fos = new FileInputStream(input);
                BufferedInputStream bis = new BufferedInputStream(fos);
                int len=-1;
                //将源文件写入到zip文件中
                byte[] buf = new byte[1024];
                while ((len = bis.read(buf)) != -1) {
                    bos.write(buf,0,len);
                }
                bis.close();
                fos.close();
            }
        }
    
        /**
         * zip解压
         * @param inputFile 待解压文件名
         * @param destDirPath  解压路径
         */
    
        public static void ZipUncompress(String inputFile,String destDirPath) throws Exception {
            File srcFile = new File(inputFile);//获取当前压缩文件
            // 判断源文件是否存在
            if (!srcFile.exists()) {
                throw new Exception(srcFile.getPath() + "所指文件不存在");
            }
            //开始解压
            //构建解压输入流
            ZipInputStream zIn = new ZipInputStream(new FileInputStream(srcFile));
            ZipEntry entry = null;
            File file = null;
            while ((entry = zIn.getNextEntry()) != null) {
                if (!entry.isDirectory()) {
                    file = new File(destDirPath, entry.getName());
                    if (!file.exists()) {
                        new File(file.getParent()).mkdirs();//创建此文件的上级目录
                    }
                    OutputStream out = new FileOutputStream(file);
                    BufferedOutputStream bos = new BufferedOutputStream(out);
                    int len = -1;
                    byte[] buf = new byte[1024];
                    while ((len = zIn.read(buf)) != -1) {
                        bos.write(buf, 0, len);
                    }
                    // 关流顺序,先打开的后关闭
                    bos.close();
                    out.close();
                }
            }
        }
    
    
        public static void main(String[] args) {
            try {
                ZipCompress("D:\\Test", "D:\\TestbyYTT.zip");
                ZipUncompress("D:\\ytt.zip","D:\\ytt的解压文件");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    展开全文
  • Java解压缩文件

    2019-11-17 10:47:00
    Java解压缩文件 本文我们讨论如何解压缩文件。java核心库提供了一些实用工具,java.util.zip包中可以找到所有压缩和解压相关工具。 1. 压缩文件 包括单个文件、多个文件以及压缩目录。 1.1. 单个文件 首先看个简单...

    Java解压缩文件

    本文我们讨论如何解压缩文件。java核心库提供了一些实用工具,java.util.zip包中可以找到所有压缩和解压相关工具。

    1. 压缩文件

    包括单个文件、多个文件以及压缩目录。

    1.1. 单个文件

    首先看个简单操作————压缩单个文件,即把源文件test1.txt压缩为归档文件compressed.zip。
    当然首先从磁盘读文件,test1.txt在gradle项目的resouces目录下:

    public class ZipDemo {
        public static void main(String[] args) throws IOException, URISyntaxException {
            String sourceFile = "test1.txt";
            URL resource = ZipDemo.class.getClassLoader().getResource(sourceFile);
            File fileToZip = new File(resource.toURI());
            FileInputStream fis = new FileInputStream(fileToZip);
            ZipEntry zipEntry = new ZipEntry(fileToZip.getName());
    
            Path targget = Paths.get(fileToZip.getParent(), "compressed.zip");
    
            FileOutputStream fos = new FileOutputStream(targget.toFile());
            ZipOutputStream zipOut = new ZipOutputStream(fos);
            zipOut.putNextEntry(zipEntry);
    
            byte[] bytes = new byte[1024];
            int length;
            while((length = fis.read(bytes)) >= 0) {
                zipOut.write(bytes, 0, length);
            }
            zipOut.close();
            fis.close();
            fos.close();
        }
    }
    

    生成的目标归档文件在相同目录下,build中。

    1.2. 压缩多个文件

    接下来看如何压缩多个文件:

    public class ZipMultipleFiles {
        public static void main(String[] args) throws IOException {
            List<String> srcFiles = Arrays.asList("test1.txt", "test2.txt");
            FileOutputStream fos = new FileOutputStream("multiCompressed.zip");
            ZipOutputStream zipOut = new ZipOutputStream(fos);
            for (String srcFile : srcFiles) {
                File fileToZip = new File(srcFile);
                FileInputStream fis = new FileInputStream(fileToZip);
                ZipEntry zipEntry = new ZipEntry(fileToZip.getName());
                zipOut.putNextEntry(zipEntry);
     
                byte[] bytes = new byte[1024];
                int length;
                while((length = fis.read(bytes)) >= 0) {
                    zipOut.write(bytes, 0, length);
                }
                fis.close();
            }
            zipOut.close();
            fos.close();
        }
    }
    

    1.3. 压缩目录

    让我们讨论如何压缩整个目录:

    public class ZipDirectory {
        public static void main(String[] args) throws IOException {
            String sourceDir = "zipTest";
            FileOutputStream fos = new FileOutputStream("dirCompressed.zip");
            ZipOutputStream zipOut = new ZipOutputStream(fos);
            File fileToZip = new File(sourceDir);
     
            zipFile(fileToZip, fileToZip.getName(), zipOut);
            zipOut.close();
            fos.close();
        }
     
        private static void zipFile(File fileToZip, String fileName, ZipOutputStream zipOut) throws IOException {
            if (fileToZip.isHidden()) {
                return;
            }
    
            if (fileToZip.isDirectory()) {
                if (fileName.endsWith(File.pathSeparator)) {
                     fileName = fileName + File.pathSeparator;
                }
                zipOut.putNextEntry(new ZipEntry(fileName));
                zipOut.closeEntry();
    
                File[] children = fileToZip.listFiles();
                for (File childFile : children) {
                    zipFile(childFile, fileName + childFile.getName(), zipOut);
                }
                return;
            }
            FileInputStream fis = new FileInputStream(fileToZip);
            ZipEntry zipEntry = new ZipEntry(fileName);
            zipOut.putNextEntry(zipEntry);
            byte[] bytes = new byte[1024];
            int length;
            while ((length = fis.read(bytes)) >= 0) {
                zipOut.write(bytes, 0, length);
            }
            fis.close();
        }
    }
    

    可能有子目录,这里需要递归进行迭代。
    每次发现目录,在子ZipEntity中增加其名称用于保存层次。
    我们也给空目录创建目录项。

    2. 解压

    解压 compressed.zip 至新的文件夹nuzipTest:

    public class UnzipFile {
        public static void main(String[] args) throws IOException {
            String fileZip = "src/main/resources/unzipTest/compressed.zip";
            File destDir = new File("src/main/resources/unzipTest");
            byte[] buffer = new byte[1024];
            ZipInputStream zis = new ZipInputStream(new FileInputStream(fileZip));
            ZipEntry zipEntry = zis.getNextEntry();
            while (zipEntry != null) {
                File newFile = newFile(destDir, zipEntry);
                FileOutputStream fos = new FileOutputStream(newFile);
                int len;
                while ((len = zis.read(buffer)) > 0) {
                    fos.write(buffer, 0, len);
                }
                fos.close();
                zipEntry = zis.getNextEntry();
            }
            zis.closeEntry();
            zis.close();
        }
         
        public static File newFile(File destinationDir, ZipEntry zipEntry) throws IOException {
            File destFile = new File(destinationDir, zipEntry.getName());
             
            String destDirPath = destinationDir.getCanonicalPath();
            String destFilePath = destFile.getCanonicalPath();
             
            if (!destFilePath.startsWith(destDirPath + File.separator)) {
                throw new IOException("Entry is outside of the target dir: " + zipEntry.getName());
            }
             
            return destFile;
        }
    }
    

    另一个关键点是在newFile()方法中防止将文件写入目标文件夹外的文件系统,该问题称为Zip Slip漏洞。

    3. 总结

    本文介绍如何利用Java核心库实现解压缩文件功能,读者也可以使用第三方库Zip4j尝试更多功能。

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

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

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

    展开全文
  • zip压缩/解压缩文件夹的文件

    千次阅读 2018-10-27 09:51:52
    zip压缩/解压缩文件夹的文件 2011年07月21日 20:04:54 flex_work 阅读数:7152 标签: filestringbytebuffernullinclude 更多 个人分类: Flex And Java  在EncryptZip的项目中对Zip的加密/解密没有...
  • Java实现解压压缩: ZipOutputStream: 实现文件压缩 ZipOutputStream(OutputStream out): 创建新的Zip输出流 putNextEntry(ZipEntry e): 开始写入新的Zip文件条目 ZipEntry(String name):使用指定...
  • 哈夫曼编码实现文件压缩解压

    万次阅读 多人点赞 2018-12-25 14:22:33
    哈夫曼编码是基于哈夫曼树实现的一种文件压缩方式。 哈夫曼树:一种带权路径最短的最优二叉树,每个叶子结点都有它的权值,离根节点越近,权值越小(根节点权值为0,往下随深度增加以此类推),树的带权路径等于...
  • VBA解压压缩文件

    千次阅读 2018-08-20 22:14:52
    VBA解压压缩文件调用的是WinRAR的命令。我们可以参考WinRAR帮助。解压文件的命令以及例子如下图: vba里面使用shell运行命令。 代码很简单如下: Sub jieya() Shell "D:\Program Files\WinRAR\WinRAR.exe...
  • 首先,我们将文件压缩这个项目分为五个步骤: 1.... 2.... 3.... 4.... 解压缩 (uncompress) Huffman树 ,又称为最优二叉树,是加权路径长度最短的二叉树。 【贪心算法】是指在问题求解时,总...
  • 解压文件后只有一个文件夹
  • C#压缩解压(rar和zip文件)

    万次阅读 2019-04-02 17:07:20
    为了便于文件在网络中的传输和保存,通常将文件进行压缩操作,常用的压缩格式有rar、zip和7z,本文将介绍在C#中如何对这几种类型的文件进行压缩和解压,并提供一些在C#中解压缩文件的开源库。 在C#.NET中压缩解压...
  • 压缩文件解压密码破解之fcrackzip

    万次阅读 2021-02-07 11:06:16
    工具简介:fcrackzip是一款专门破解zip类型压缩文件密码的工具,工具“短小精悍”。 使用范围:Linux、Mac osx 关于安装: 1、Mac OS brew install fcrackzip 2、Ubuntu apt-get install fcrackzip 3、...
  • 涉及到一个问题:请求苹果的账单,返回的是一个压缩文件解压后才是xls文件。 思路:将请求到的文件流置入一个zip文件,解压这个文件,将文件内容转为数组处理。 实现代码(写了个示例如下,数据处理也附上):...
  • Linux下的文件压缩、解压缩、打包以及提取 本节所要用到的Linux命令总结 压缩 注释 gzip 文件名 对文件进行压缩文件被删除 gzip -c 文件名A &amp;amp;amp;amp;gt; 文件名B.gz ...
  • 最近在学习java的io知识,写了一个简单地压缩和解压缩的程序,只能实现对文字型(像txt,...实现压缩文件 package io; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept...
  • 用Huffman树实现文件压缩解压

    千次阅读 2017-08-07 19:22:21
    用Huffman树实现文件压缩解压 我们先来了解一下什么是Huffman树? 我们平常所使用的Zip等压缩工具都是借助Huffman树实现的,Huffman是一种特殊的二叉树,它是一种加权路径最短的二叉树, 因此也称为最优...
  • C# 压缩解压Zip文件

    2020-12-24 02:04:12
    //添加引用ICSharpCode.SharpZipLib.dll /// <summary> /// Zip 压缩文件 /// </summary> public class Zip { public Zip() ... /// 功能:压缩文件(暂时只压缩文件夹下一级目录中的文件,.
  • 详细见:http://blog.csdn.net/acervogue/article/details/7418030
  • 哈夫曼树实现文件压缩与解压缩

    万次阅读 多人点赞 2016-06-06 21:23:14
    见识了360压缩的神奇,想要实现自己的文件压缩程序,然后花了近一个星期的时间去完成文件压缩与解压缩,期间有很多坑,花了很长时间去调试它,最后把坑给填了(真心的感受到了程序员写代码时的小小粗心会把自己给...
  • Linux 中文件的压缩与解压缩1.*.tar.gz 格式1.tar 命令参数介绍2.创建 tar.gz 压缩文件3.解压 tar.gz 文件2.*.zip 格式1.unzip 参数介绍2.解压 zip 文件 1.*.tar.gz 格式 tar.gz 是 Linux 中的一种文件压缩格式,...
  • 文件压缩压缩

    千次阅读 2018-09-10 19:12:15
    脑子一热,想到能不能再次压缩文件?没有百度到,想要的答案,自己费事来try try。 看不懂的知识:https://blog.csdn.net/xuchuangqi/article/details/52939705 gzip 对于要压缩的文件,首先使用LZ77算法的一个...
  • 在main 方法中,我调用了该方法,压缩路径 D:\apache-tomcat-8.0.43\webapps\images中,压缩到D:\apache-tomcat-8.0.43\webapps\images\zip中成功,zip文件中有文件,但是我在javaweb下,调用该方法,却只有的zip...
  • Huffman的应用之文件压缩与解压缩

    千次阅读 2016-10-30 12:02:28
    文件压缩与解压缩>  最近这段时间一直在学习树的这种数据结构,也接触到了Huffman树以及了解了什仫是Huffman编码,而我们常用的zip压缩也是利用的Huffman编码的特性,那仫是不是可以自己实现一个文件压缩呢?当然可以...
  • Java实现文件压缩与解压缩-----.7z1. 压缩1.1 实现代码1.2 maven依赖 Java中实现.7z的压缩与解压缩 Java中实现.zip的压缩与解压缩 1. 压缩 本代码可以实现文件夹下多个文件的.7z压缩~ 1.1 实现代码 import org....
  • Java实现文件压缩解压

    万次阅读 2015-05-08 18:17:00
    在开发过程中,有时需要对用户上传的文件进行一个压缩操作,以节约硬盘空间,那么用Java怎么实现文件压缩解压呢?很简单,Java为我们提供了一个包,专门负责文件压缩解压的,那个包就是java.util.zip;   ...
  • c#进行压缩解压文件

    千次阅读 2018-03-09 14:19:12
    .NET 4.5 中新提供的压缩类Windows8 的开发已经如火如荼开始了,在 Windows8 中提供的 .NET Framework 已经更新到了 4.5 版,其中又增加了一些新的特性,对压缩文件的支持就是其中之一。在 4.5 之前,处理压缩文件,...
  • * 压缩文件目录 * * @param prefix * @param src * @param zos * @throws IOException */ private static void compressFile(String prefix, File src, ZipOutputStream zos) throws IOException { //...
  • 哈夫曼树实现文件的压缩与解压缩

    万次阅读 2017-03-08 19:16:08
    利用哈夫曼树实现文件的压缩与解压缩 压缩: 1、统计出文件中相同字符出现的次数 2、获取哈夫曼编码 次数作为权值构建哈夫曼树 3、重新编码,写回压缩文件 保存头文件: 源文件后缀 编码信息的行数 ...
  • 解压zip跟rar压缩文件

    千次阅读 2017-04-19 10:49:01
    这里是对zip及rar文件进行解压
  • Centos 下解压压缩rar文件

    千次阅读 2018-04-01 15:22:05
    在liunx下原本是不支持rar文件的,需要安装liunx下的winrar版本,操作如下http://www.rarsoft.com/download.htm 下载页面wget http://www.rarsoft.com/rar/rarlinux-4.0.1.tar.gz tar -zxvf rarlinux-4.0.1.tar....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,836
精华内容 38,734
关键字:

压缩文件解压后变空了