【发布时间】:2017-06-06 07:03:21
【问题描述】:
我有一个二进制数字符串,例如 temp = "0101110011",我想将其另存为文件,这个 Temp 有 10 个字符,我如何将此字符串保存到 10 位长度的文件中?
void Save_Data(string temp)
{
bool[] BoolArray = new bool[temp.Length];
BitArray Barray = new BitArray(BoolArray.Length);
char[] ch = temp.ToCharArray();
for (int i = 0; i < temp.Length; i++)
{
if (ch[i] == '0')
{
Barray[i] = false;
}
else
{
Barray[i] = true;
}
}
Stream stream = new FileStream("D:\\test.dat", FileMode.Create);
StreamWriter sw = new StreamWriter(stream);
foreach (bool bit in Barray)
{
sw.Write(bit ? 1 : 0);
}
sw.Flush();
sw.Close();
}
使用此代码,我的文件长度为 80 位
【问题讨论】:
-
你想要文件
0101110011大小为 10 位吗? -
@Roma 不,我想将其另存为 .data
-
您是否期望将“10101010”保存到文件中最终会产生 1 字节大小的文件??
-
@ΦXocę웃Пepeúpaツ 是
-
你在问什么 - 你存储了长度为 10 的字符串的文件,它的大小为 10 位。这是不可能的。最小大小为 2 字节(16 位),不会丢失数据
标签: c# bitarray binarywriter