gpt4 book ai didi

c# - 如何读取/写入特定数量的字节到文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:48 25 4
gpt4 key购买 nike

我希望通过按大小块构建文件来创建文件。本质上,我希望创建一个基本的文件系统。

我需要写一个标题,然后是“无限”可能数量的相同大小/结构的条目。重要的部分是:

  • 每个数据 block 都需要单独读/写
  • Header 需要作为其自身的实体可读/可写
  • 需要一种方法来存储这些数据并能够快速确定其在文件中的位置

他们会想象该文件类似于:

[HEADER][DATA1][DATA2][DATA3][...]

处理此类问题的正确方法是什么?比方说我想从文件中读取 DATA3,我怎么知道数据 block 从哪里开始?

最佳答案

如果我对你的理解是正确的,并且你需要一种方法来为你的 DATA block 分配一种名称/ID,你可以尝试引入另一种类型的 block 。

我们称之为TOC(目录)。因此,文件结构将类似于 [HEADER][TOC1][DATA1][DATA2][DATA3][TOC2][...]

TOC block 将包含名称/ID 和对多个 DATA block 的引用。此外,它将包含一些内部数据,例如指向下一个 TOC block 的指针(因此,您可以将每个 TOC block 视为一个链表节点)。

在运行时,所有 TOC block 都可以表示为一种 HashMap,其中 key 是 DATA block 的名称/ID,并且值是它在文件中的位置。

关于c# - 如何读取/写入特定数量的字节到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14006199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com