二进制文件 读写 第一次写长度为 20 第二次 写长度 18 读出来还是 长度20 的 为什么不是覆盖的写

forever6164 2008-03-27 01:45:05
第一次用"ad,sad,as,dasf,我我,"
第二次用"ad,sad,as,dasf,我,"
结果:
第一次:
"ad,sad,as,dasf,我我,"
20
"ad,sad,as,dasf,我我,"
20
第二次:
"ad,sad,as,dasf,我,"
18
"ad,sad,as,dasf,我,?"
19
这个怎么回事??? 我想不出来 ...麻烦大虾帮帮我!!1
CODE:
string SSConfig = Application.StartupPath + "\\s.data";
string str = "ad,sad,as,dasf,我我,";//改成"ad,sad,as,dasf,我," 出错
MessageBox.Show(str);
byte[] bywr = System.Text.Encoding.Default.GetBytes(str);
MessageBox.Show(bywr.Length.ToString());
BinaryWriter bw;
FileStream fs;
try
{
fs = File.OpenWrite(SSConfig);
bw = new BinaryWriter(fs);
bw.Write(bywr);
bw.Flush();
bw.Close();
fs.Close();
}
catch (Exception ee)
{
bw = null;
fs = null;
//FindException(ee.Message);
}

//read
byte[] byrr;

BinaryReader br1,br2;
FileStream fs1, fs2;
try
{
string s = "";
StreamReader fs11 = new StreamReader(SSConfig, Encoding.Default);
MessageBox.Show(s=fs11.ReadToEnd());
fs11.Close();
MessageBox.Show(System.Text.Encoding.Default.GetByteCount(s).ToString());
}
catch (Exception ee)
{
}
...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
forever6164 2008-03-29
  • 打赏
  • 举报
回复
这个我知道,不过没关系.,我想,它只会增大到一定大小,,不会有影响,(因为内容不大)
而且我对文件的大小没有要求..

谢谢..

您的建议我有时间要试试.
forever6164 2008-03-27
  • 打赏
  • 举报
回复
倒.....没想过,,不过算了,,
我加了些文件结尾的标志,文件算是可以正常的读写了,,,,
反正我搞定了
我的文件结束符是\r\0
结束的标志写成
int ci=(int)('\0');
br.PeekChar()!=ci
就可以了,,当然这样,,读的时候也要自己注意一下了,因为
如果本来写25字符,出来时就是24个了,,因为\0 不合条件, 只好自己再加上去了...

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧