none
一些软件创建的特定单一文件,自身能存放图片又能存放大量富文本数据,改成zip后缀也打不开,这个是如何实现的? RRS feed

  • 问题

  • 有一些软件创造的单一文件,又能显示表格,又能显示图片,文章,但这些显示的数据所存放的位置不在任软件目录的数据库里,也不在系统盘里,似乎就在单一文件内部,把插入的原图片路径的文件给删除了,图片也能正常显示,也试图改成zip打开,但是不行。注意,我不是问如何用c#调用zip,rar之类的压缩包功能去解压或打包多文件,有些软件创造的特定后缀文件,无法用第三方解压软件打开查看里面的内容。例如.doc,psd,ppt之类的将数据存放文件内部的文件。这个是如何实现的?

    比如把3个txt,jpg,db等不同类型的文件打包在一个文件内部,给该文件随便取个名称和后缀以及指定的简短特征信息。可以用c#根据文件路径读写该文件,先判断该文件自身是否有指定的特征信息,如果有就按照相应的文件读写方法去读写该文件内部的指定文件,且能对单一文件内部的文件进行增加、替换、删除操作。这个要怎么做?用什么.net框架实现?然后打包在一起后又怎么解包?(将文件内部的文件复制到文件外部),







    • 已编辑 Trian555 2019年6月21日 12:26
    2019年6月21日 3:33

答案

  • 基本上所有文件格式都无法用解压软件打开查看内容……因为并不是压缩文件格式。

    doc和ppt都是ActiveX Document。psd文件格式adobe网站上有。还有很多容器格式,比如CHM(编译的HTML)、MSI(安装程序)、MHT(网页及其相关资源)、ISO(光盘)、VHD(虚拟机)、各种游戏引擎的文件格式等等。

    .Net框架不支持自定义文件格式。你需要自己写文件解析和存储代码。至于要包含文件,自己设计一种容器文件格式就行了。有很多开放的文件格式(比如epub)可以参考。不想自己设计但是又不想被人看的话,就随便找个压缩文件格式,自己读写的时候用密码加解密就好了。



    Visual C++ MVP

    • 已标记为答案 Trian555 2019年6月28日 1:47
    2019年6月26日 23:28
    版主

全部回复

  • 有一些软件创造的单一文件,又能显示表格,又能显示图片,文章,但这些显示的数据所存放的位置不在任软件目录的数据库里,也不在系统盘里,似乎就在单一文件内部,把插入的原图片路径的文件给删除了,图片也能正常显示,也试图改成zip打开,但是不行。这个是如何实现的?

    比如把txt,jpg,db等不同类型的文件打包在一个文件内部,给该文件随便取个名称和后缀,用c#读写该文件,先判断该文件自身是否有指定的特征信息,如果有就按照相应的文件读写方法去操作该文件内部的指定文件。这个要怎么做?用什么.net框架实现?

    然后打包在一起后又怎么解包?(将文件内部的文件复制到文件外部)





    Hi    Trian555,

    希望下面文章对你有所帮助。

    c#自带类实现的多文件压缩和解压

    Best regards

    Yong Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年6月21日 6:59
  • 基本上所有文件格式都无法用解压软件打开查看内容……因为并不是压缩文件格式。

    doc和ppt都是ActiveX Document。psd文件格式adobe网站上有。还有很多容器格式,比如CHM(编译的HTML)、MSI(安装程序)、MHT(网页及其相关资源)、ISO(光盘)、VHD(虚拟机)、各种游戏引擎的文件格式等等。

    .Net框架不支持自定义文件格式。你需要自己写文件解析和存储代码。至于要包含文件,自己设计一种容器文件格式就行了。有很多开放的文件格式(比如epub)可以参考。不想自己设计但是又不想被人看的话,就随便找个压缩文件格式,自己读写的时候用密码加解密就好了。



    Visual C++ MVP

    • 已标记为答案 Trian555 2019年6月28日 1:47
    2019年6月26日 23:28
    版主