对于我的项目,我需要从文件中编写 UInt16、UInt32、字节和字符串。我从一个这样写的简单类开始:
public FileReader(string path) //constructor
{
if (!System.IO.File.Exists(path))
throw new Exception("FileReader::File not found.");
m_byteFile = System.IO.File.ReadAllBytes(path);
m_readPos = 0;
}
public UInt16 getU16() // basic function for reading
{
if (m_readPos + 1 >= m_byteFile.Length)
return 0;
UInt16 ret = (UInt16)((m_byteFile[m_readPos + 0])
+ (m_byteFile[m_readPos + 1] << 8));
m_readPos += 2;
return ret;
}
我认为使用已经存在的 BinaryReader 可能会更好,所以我尝试了它,但我注意到它比我的方法慢。有人可以解释为什么会这样吗?如果有另一个已经存在的类我可以用来加载文件并从中读取?
~阿杜拉