精华内容
下载资源
问答
  • 本来想的是把这两个文件压缩成一个压缩包,但是给的类库有点大,最终选择写成一个二进制文件,接着上传这个二进制。这需要我们可以实现,把两个文件写成二进制,然后再分开还原。 Key:文件在计算机里面存储的方式...

    问题:在做项目的时候,winform辅助工具生成了一个文件夹,里面包含两个文件,然后再把这两个文件分别上传到webform里面,这样子就显得复杂而且容易出错。本来想的是把这两个文件压缩成一个压缩包,但是给的类库有点大,最终选择写成一个二进制文件,接着上传这个二进制。这需要我们可以实现,把两个文件写成二进制,然后再分开还原。

    Key:文件在计算机里面存储的方式就是二进制;先写入该文件的长度,再写入该文件的内容,在分开这两个文件时,刚好先读每一个文件的长度,然后再读这个文件,以此区分了两个文件。

    I、写入一个文件

     

      private void button1_Click(object sender, EventArgs e)
            {
                string strFile1 = "F:\\软件开发\\CSharpTest\\File\\MergeFile\\MergeFile\\bin\\Debug\\1.txt";
                string strFile2 = "F:\\软件开发\\CSharpTest\\File\\MergeFile\\MergeFile\\bin\\Debug\\file1.pptx";
                string strFile = "F:\\软件开发\\CSharpTest\\File\\MergeFile\\MergeFile\\bin\\Debug\\merge.bin";
    
                FileStream file1 = new FileStream(strFile1, FileMode.Open);
                byte[] fileData1 = new byte[file1.Length];
                file1.Read(fileData1, 0, (int)file1.Length);
    
    
                FileStream file2 = new FileStream(strFile2, FileMode.Open);
                byte[] fileData2 = new byte[file2.Length];
                file2.Read(fileData2, 0, (int)file2.Length);
    
    
                FileStream s = new FileStream(strFile, FileMode.OpenOrCreate);
                BinaryWriter writer = new BinaryWriter(s);
                writer.Write(fileData1.Length);
                writer.Write(fileData1, 0, fileData1.Length);
                writer.Write(fileData2.Length);
                writer.Write(fileData2, 0, fileData2.Length);
                writer.Close();
    
            }
    

    II、分解为两个文件

     

     private void button2_Click(object sender, EventArgs e)
            {
                string strFile1 = "F:\\软件开发\\CSharpTest\\File\\MergeFile\\MergeFile\\bin\\Debug\\2.txt";
                string strFile2 = "F:\\软件开发\\CSharpTest\\File\\MergeFile\\MergeFile\\bin\\Debug\\file2.pptx";
                string strFile = "F:\\软件开发\\CSharpTest\\File\\MergeFile\\MergeFile\\bin\\Debug\\merge.bin";
    
                FileStream s = new FileStream(strFile, FileMode.Open);
                BinaryReader reader = new BinaryReader(s);
    
                int nFile = 0;
                nFile = reader.ReadInt32();
                byte[] fileData1 = new byte[nFile];
                reader.Read(fileData1, 0, nFile);
    
    	    
                nFile = reader.ReadInt32();
                byte[] fileData2 = new byte[nFile];
                reader.Read(fileData2, 0, nFile);
    
                FileStream s1 = new FileStream(strFile1, FileMode.OpenOrCreate);
                s1.Write(fileData1, 0, fileData1.Length);
                s1.Close();
    
                FileStream s2 = new FileStream(strFile2, FileMode.OpenOrCreate);
                s2.Write(fileData2, 0, fileData2.Length);
                s2.Close();
            }

     

    tips:1 1 0 0 0 0 0 0 这是16进制 代表4个字节

     

    1Byte = 256 =2^8(8bit)

    reader.ReadInt32()正好读4个字节 

    1k= 1024B 

     

    展开全文
  • java实现多个文件压缩

    热门讨论 2011-01-04 20:42:44
    java实现多个文件压缩
  • 本文简单介绍了WinRAR如何把一个文件压缩成几个固定大小的文件以及如何解压这几个文件。 1、压缩 1 > 鼠标选中待压缩文件-右键-添加到压缩文件。 2 > 在弹出的“压缩文件和参数”窗口-切分压缩分卷...

    简述:

    本文简单介绍了WinRAR如何把一个文件压缩成几个固定大小的文件以及如何解压这几个文件。


    1、压缩


    1 > 鼠标选中待压缩文件-右键-添加到压缩文件




    2 > 在弹出的“压缩文件和参数”窗口-切分压缩分卷(V),大小-下拉菜单中,选择合适的大小或自行填入分卷大小。




    3 > 点击确定按钮,就开始按设定大小压缩成几个固定大小的文件,最后一个不一定是固定大小





    2、解压缩


    1 > WinRAR解压缩


    把压缩文件的part1,part2,,,放到同一个文件夹,然后解压缩任意一文件即可。


    2 > 7-Zip解压缩


    同上解压缩即可。

    如果7-Zip版本太旧了,解压缩方法如下。

    把压缩文件的part1,part2,,,放到同一个文件夹,双击一个分卷压缩包,打开文件管理界面,将路径后退一步,全部选定这些分卷后点击“提取”解压。


    3、WinRAR离购买许可只剩多少天的解决方案


    系统:Windows 7 64bit

    WinRAR:5.50 非商业个人版


    问题:

    WinRAR使用过程中出现:WinRAR提示离购买许可只剩多少天

    解决方案:

    1 > 新建文本文档,将下面代码复制到文本文档里,

    RAR registration data
    State Grid Corporation Of China
    50000 PC usage license
    UID=5827a0bd1c43525d0a5d
    64122122500a5d3d56f784f3a440ac3fb632d34e08bbaa37fc7712
    6acaeb8eb044810272e86042cb7c79b1da0eaf88c79f8a7c6dd77b
    dba335e27a109997ac90fb0e10e4129e79f46c42b4ee1832fa5113
    7443fcc1124840d4dd36f3af84a5c915a760b18c6394f938168227
    fbf29edbc4b34ef85ee53fbfca71814a82afadf073876b4b033451
    b6292a7cc7975b3ff3cc73404abbf7c126787344169eeae4609f62
    c9ffbc159bf2640ad5d9b88f8fa9d9cbf2b7e5b022a21938465244

    2 > 保存,并命名为命名为RarReg.key

    3 > 将RarReg.key文件复制到WinRAR的安装目录下,如C:\Program Files\WinRAR

    注册完成,从此即可享受无限制使用


    展开全文
  • 可以用来压缩打包单文件、多个文件、单个目录、多个目录。 Linux打包命令_tar tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。 常用格式: 单个文件压缩打包 tar czvf my.tar.gz file1 多...

    tar命令

    可以用来压缩打包单文件、多个文件、单个目录、多个目录。

    Linux打包命令_tar

    tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。

    常用格式:

    单个文件压缩打包 tar czvf my.tar.gz file1

    多个文件压缩打包 tar czvf my.tar.gz file1 file2,...(file*)(也可以给file*文件mv 目录在压缩)

    单个目录压缩打包 tar czvf my.tar.gz dir1

    多个目录压缩打包 tar czvf my.tar.gz dir1 dir2

    解包至当前目录:tar xzvf my.tar.gz

    cpio

    含子目录find x* | cpio -o > /y/z.cpio

    不含子目录ls x* | cpio -o > /y/z.cpio

    解包: cpio -i < /y/z.cpio

    [root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....

    参数:

    -c :建立一个压缩文件的参数指令(create 的意思);

    -x :解开一个压缩文件的参数指令!

    -t :查看 tarfile 里面的文件!

    特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!

    因为不可能同时压缩与解压缩。

    -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

    -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

    -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

    -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

       例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成

       『 tar -zcvPf tfile sfile』才对喔!

    -p :使用原文件的原来属性(属性不会依据使用者而变)

    -P :可以使用绝对路径来压缩!

    -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

    --exclude FILE:在压缩的过程中,不要将 FILE 打包!

    范例:

    范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar

    [root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!

    [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩

    [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩

    # 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。

    # 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~

    # 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~

    # 上述指令在执行的时候,会显示一个警告讯息:

    # 『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定。

    范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?

    [root@linux ~]# tar -ztvf /tmp/etc.tar.gz

    # 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,

    # 就得要加上 z 这个参数了!这很重要的!

    范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

    [root@linux ~]# cd /usr/local/src

    [root@linux src]# tar -zxvf /tmp/etc.tar.gz

    # 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,

    # 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,

    # 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc

    # 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

    范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已

    [root@linux ~]# cd /tmp

    [root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

    # 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,

    # 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

    范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!

    [root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc

    # 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

    范例六:在 /home 当中,比 2005/06/01 新的文件才备份

    [root@linux ~]# tar -N '2005/06/01' -zcvf home.tar.gz /home

    范例七:我要备份 /home, /etc ,但不要 /home/dmtsai

    [root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

    范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!

    [root@linux ~]# cd /tmp

    [root@linux tmp]# tar -cvf - /etc | tar -xvf -

    # 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!

    # 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~

    # 这分别代表 standard output, standard input 与管线命令啦!

    # 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!

    展开全文
  • 使用C#语言进行多个文件压缩打包

    千次阅读 2017-02-16 09:23:00
    这里借助了第三方程序集ICSharpCode,请自行检索下载。下面上码/// /// 制作压缩包(多个文件压缩到一个压缩包,支持加密、注释) /// /// 要压缩的文件 /// 压缩文件目录 /// <param n

    这里借助了第三方程序集ICSharpCode,请自行检索下载。

    下面上码

    /// <summary>
    /// 制作压缩包(多个文件压缩到一个压缩包,支持加密、注释)
    /// </summary>
    /// <param name="fileNames">要压缩的文件</param>
    /// <param name="topDirectoryName">压缩文件目录</param>
    /// <param name="zipedFileName">压缩包文件名</param>
    /// <param name="compresssionLevel">压缩级别 1-9</param>
    /// <param name="password">密码</param>
    /// <param name="comment">注释</param>
    public static void ZipFiles(string[] fileNames, string topDirectoryName, string zipedFileName, int? compresssionLevel, string password="", string comment="")
    {
        using (ZipOutputStream zos = new ZipOutputStream(File.Open(zipedFileName, FileMode.OpenOrCreate)))
        {
            if (compresssionLevel.HasValue)
            {
                zos.SetLevel(compresssionLevel.Value);//设置压缩级别
            }
    
            if (!string.IsNullOrEmpty(password))
            {
                zos.Password = password;//设置zip包加密密码
            }
    
            if (!string.IsNullOrEmpty(comment))
            {
                zos.SetComment(comment);//设置zip包的注释
            }
    
            foreach (string file in fileNames)
            {
                string fileName = string.Format("{0}/{1}", topDirectoryName, file);
                if (File.Exists(fileName))
                {
                    FileInfo item = new FileInfo(fileName);
                    FileStream fs = File.OpenRead(item.FullName);
                    byte[] buffer = new byte[fs.Length];
                    fs.Read(buffer, 0, buffer.Length);
    
                    ZipEntry entry = new ZipEntry(item.Name);
                    zos.PutNextEntry(entry);
                    zos.Write(buffer, 0, buffer.Length);
                }
            }
        }
    }
    展开全文
  • 如何Tesseract两个训练文件合并

    千次阅读 2016-11-03 09:07:07
    如何Tesseract两个训练文件合并 在tesseract的训练中,经常会有需求不同的训练文件合在一起,因为不想重复去修改box,经过群里一位大哥的提醒,有了下面的操作,这里仅仅针对个人自己训练的文件,系统带的训练...
  • 使用Java以zip形式批量下载文件压缩文件

    万次阅读 多人点赞 2020-07-19 21:22:25
    这篇博客详细介绍了在Java中以zip形式批量下载文件,博客中有完整的代码实现。
  • 问题:使用CMD将两个文件合并为一个文件。 环境:WIN10 最近发现了一个很实用的命令,那就是copy /b。我们看看帮助文档。 其命令格式是copy /b a.xxx [+b.xxx [+...]] c.xxx,[]代表可选。意思是a.xxx和b.xxx...
  • Java小程序之哈夫曼树与文件压缩和解压缩(二)文件解压篇 一、解压原理: 了解了压缩原理之后,要解压文件就是压缩文件的逆过程;拿昨天的例子来说,如果我们收到这样一串二进制1 1 01 1 1 01 00(昨天漏掉了...
  • 今天处理 /tmp 临时目录下 session 文件过多的问题,顺便找到了这个 tar 结合 find 打包压缩的方法,记录下来,很实用的哈!...1、按照自己条件搜索出来的文件名写入到一个文件 tmp.list 中 find /tm
  • 《Linux兵书》读书笔记&3只记录了一些常用命令,比较偏的命令没有记录文件压缩zip与unzipzip命令以及...将文件test压缩为file.zip 2.压缩后,删除原文件 zip -m file.zip test 参数m表明压缩文件test后删除它 3.
  • Linux文件压缩命令

    万次阅读 2019-04-28 10:55:33
    gzip/gunzip:主要是进行单个文件压缩和解压缩的命令。 示例:gzip hello.txt #执行压缩hello.txt ls hello.txt.gz #查看文件信息 gunzip hello.txt.gz #解压文件命令 2、tar 命令 tar可以用来打包文件,还...
  • 文件压缩算法

    千次阅读 2016-09-08 10:19:43
    gzip 、zlib以及图形格式png,使用的压缩算法都是deflate算法。从gzip的源码中,我们了解到了defalte算法的原理和实现。我阅读的gzip版本为 gzip-1.2.4。...gzip 对于要压缩文件,首先使用LZ77算法的一变种进行
  • 压缩与解压缩6—WinRAR 的基本使用 一 SFX (SelF-eXtracting)自解压文件压缩文件的一种,它结合了可执行文件模块,一种用以运行从压缩文件解压文件的模块。这样的压缩文件不需要外部程序来解压自解压文件的...
  • 打包软件tar:很多文件集结成一个文件  应用度最广的压缩指令gzip  能解开compress、zip和gzip等软件压缩的文件  压缩后的文件为*.gz  (ls -ldSr按文件大小从小到大列出)  -v:显示压缩比等信息 -#:#为...
  • Qt调用zlib库文件压缩zip文件

    万次阅读 2016-03-22 21:18:15
    前段时间一直在搞Qt解压缩zip文件,在网上找了很多的方法,差不多都是一模一样的代码,都是简洁扼要的东西,到最后啥都没看懂,白白浪费了很多时间。网上很多的使用quazip开源源码库解压和压缩,但是quazip要自己...
  • 它的目的很简单:它一个或多个文件并“包装”到一个自包含的文件中,称为磁带存档,因为发明了tar时,它用于数据放置在存储磁带上。 tar格式的新手通常其等同于.zip文件,但是tar归档文件显然未压缩。 tar...
  • 三分钟速学分linux文件备份压缩

    千次阅读 多人点赞 2020-04-26 18:38:52
    备份压缩命令一、linux常见压缩文件扩展名说明二、tar命令 – 打包和备份的归档工具三、gzip命令 – 压缩和解压文件四、bzip2命令 – bz2文件压缩程序五、 环境说明: 博客使用的linux版本:CentOS Linux release ...
  • 介绍JAVAScript 编译与链接,压缩神器 - GruntJS的基本概念与简单使用!
  • DELPHI 文件压缩加密

    千次阅读 2009-12-16 16:58:00
    1、 系统功能 1)、数据压缩 使用DELPHI提供的两个流类(TCompressionStream和TDecompressionStream)来完成数据的压缩和解压缩。 2)、数据加密压缩 通过Delphi编程中“流”的应用实现数据加密,主要采用Tstream的...
  • Linux压缩打包命令——tar、zip、unzip

    万次阅读 多人点赞 2019-08-16 18:39:08
    打包是指个文件或者目录放在一起,形成一个总的包,这样便于保存和传输,但是大小是没有变化的,压缩是指一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩...
  • Linux文件压缩和打包

    万次阅读 2018-05-27 13:47:04
    Linux文件压缩和打包一、压缩打包介绍常见压缩文件​ ~Windows .rar .7z .zip ​ ~Linux .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz文件压缩的作用:1、节省空间​ ...
  • 压缩文件密码暴力破解——cRARk使用方法

    万次阅读 多人点赞 2021-02-24 15:44:17
    cRARk使用方法 压缩文件如果忘记密码就需要使用暴力破解的方法进行破解,因为使用了加密的手段,是无法绕过密码验证的。 cRARk是一款开源的功能强大的rar,7z类压缩软件的破解工具...然后解压GUI版本,里面只有一可运
  • Huffman编码之文件的解/压缩

    千次阅读 2016-06-16 00:00:25
    史上最具人性化的文件压缩详述,基于Huffman算法的文件压缩项目,还在为找练习项目而苦恼?还在为Huffman算法困惑?还在为文件压缩一头雾水?来吧,,,一起学习,共同进步.....
  • UglifyJS 合并 压缩 JS文件

    千次阅读 2019-10-16 09:09:29
    在引用库还有其他文件时,原本的项目文件很多,这时候就需要压缩合并,使用方法如下: 安装: npm install uglify-js -g uglifyjs安装为全局变量,方便我们在任何地方使用。 下面是shell命令的中文解释: *...
  • Spark读取压缩文件

    万次阅读 2018-06-05 22:40:02
    本文讲如何用spark读取gz类型的压缩文件,以及如何解决我遇到的各种问题。 1、文件压缩 下面这一部分摘自Spark快速大数据分析:   在大数据工作中,我们经常需要对数据进行压缩以节省存储空间和网络传输开销...
  • Linux中文件压缩与解压缩

    千次阅读 2006-04-04 13:01:00
    本文基于Red Hat 6.0,介绍了压缩与解压文件的几种方法与技巧:命令: compress 格式: compress 选项 文件列表 功能: 用Lempel-ziv压缩方法来压缩文件压缩标准输入 选项: -r 递归操作,如果指定...
  • QT解压缩文件

    千次阅读 2015-05-26 12:40:36
    QT解压缩文件:这里用的方法是 调用WinRAR解压软件里的Rar.exe 利用dos命令实现文件的解压,压缩
  • 这里“打包”是指,个文件合成一个文件;“压缩”是指,把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。 举例:在PC端中,有很多压缩软件,如
  • EROFS(Extendable Read-Only File System)是华为最近发布的一个新的Linux文件系统,它...下面两个方向对该文件系统取得如此成效的原因进行解读。 通过fixed output压缩缓解读放大问题 一般存储器以4K为最小...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 180,932
精华内容 72,372
关键字:

怎么将两个文件一起压缩