File io 如何将文件放入文件中

File io 如何将文件放入文件中,file-io,File Io,MS Word的.docx文件包含一组.xml文件 Setup.exe文件会吐出程序使用的数百个文件 拉链、RAR等也可以装很多压缩的东西 那么它们是如何制作的呢?MS Word或其他生成这些文件的程序必须做什么才能将文件放入文件中 当我查这个的时候,我得到了一大堆关于压缩的结果,但是假设我想做一个程序,把文件“包装”到一个文件中,而不让最终结果变小。我还要写什么 我不要求/期望任何源代码能做到这一点,我只需要一个指针。根据我在这里提出的问题,你认为我有什么误解吗 即使是一个简单的链接到一篇文章

MS Word的.docx文件包含一组.xml文件

Setup.exe文件会吐出程序使用的数百个文件

拉链、RAR等也可以装很多压缩的东西

那么它们是如何制作的呢?MS Word或其他生成这些文件的程序必须做什么才能将文件放入文件中

当我查这个的时候,我得到了一大堆关于压缩的结果,但是假设我想做一个程序,把文件“包装”到一个文件中,而不让最终结果变小。我还要写什么

我不要求/期望任何源代码能做到这一点,我只需要一个指针。根据我在这里提出的问题,你认为我有什么误解吗

即使是一个简单的链接到一篇文章或一些文档也会非常感激

好的,我将为普通文件提供一些头文件,并将它们和实际文件的字节一起写入一个自定义定义的文件中。你们帮了大忙,谢谢 至少在POSIX系统(如Linux)上,文件只是字节流(即序列)。并且只能在末端生长(或收缩,即截断)它——没有办法在中间插入字节(不复制其余部分)。

您需要一些约定和一些附加软件来处理它

您可能会感兴趣,它为您提供了一个库,可以将某些(例如)
*.sqlite
文件作为SQL数据库处理

您还可以使用-一个提供一些索引文件抽象的库


是一个用于处理
tar
存档的库。另请参见
tar
文件后处理器。

历史上,Windows有许多技术支持此类解决方案。这些文件通常被称为复合文件或结构化存储。然而,我不认为较新的Office文档使用这些技术。我认为Office文件格式类似于具有不同扩展名的ZIP文件。如果您将扩展名为.docx的文件更改为.zip,并使用您喜爱的压缩工具打开它,您将看到一堆文件夹和XML文件

以下是一些链接,指向创建“文件中的文件”的不同文件格式的说明


tar归档文件的结构非常简单,与使用的压缩方法无关。也许我能帮助你;它描述了文件是如何存储在归档文件中的。为什么不试着编写一个程序,将一堆文件放在一起,然后再编写另一个程序将它们撕开呢?想象这个并不复杂。当你有机会阅读上面提到的关于tar的内容时,或者看看一些源代码,这些源代码使用的是你理解的文件归档语言