我正在制作自己的文件扩展名。我决定使用BinaryReader / BinaryWriter来加载/保存文件。现在,当我打开一些文件,任何带有我的文件扩展名的文件时,我怎么知道它的结构呢?我的标题结构基本上是这样的:
public struct FileHeader
{
public uint Magic;
public uint Rows;
public uint Columns;
public uint Size;
public uint Strings;
}
现在,这只是Header文件,但是,在加载/保存Header之后,我继续保存所有行。然后,在那之后,字符串保存通过字节。但是,通过这种方式,我已经知道了这个行的文件结构。所以,我的问题是:
如何在不知道/声明结构之前打开文件扩展名的文件并识别Column的类型(int,uint,float等)?