1

我正在尝试编写一个遵循预先存在的(和不可变的)文本文件格式的索引文件。

该文件是固定长度的,有 11 个字节的字符串(ASCII 格式),后跟 4 个字节的 long,每行总共 15 个字节。

也许我有点昏暗,但有没有一种简单的方法可以做到这一点?我觉得我需要打开两个流来写一行——一个用于字符串,一个用于字节——但这感觉不对。

有什么提示吗?

4

1 回答 1

3

您可以使用在/和 s 数组BitConverter之间进行转换。这样,您将能够写入 11 个字节,后跟 4 个字节,然后再写入 11 个字节,依此类推。intlongbyte

byte[] intBytes = BitConverter.GetBytes(intValue); // returns 4-byte array

转换为字节:BitConverter.GetBytes(int).

转换回intBitConverter.ToInt32(byte\[\], int)

如果您正在开发跨平台解决方案,请记住文档中的以下注释(感谢uriDium您的评论):

GetBytes 方法返回的数组中的字节顺序取决于计算机体系结构是 little-endian 还是 big-endian。

于 2012-08-22T15:28:15.443 回答