文本流StreamWriter写入问题 即每一次是插入在第一行 什么意思啊?是不是for(int i=100;i>0;i--)啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我上面的程序只是个示例,实际log文件可能有上万行,每一个月清理一次,所以全读出来是很郁闷的。其实我就想知道直接用文件流能不能不在最后一行插入,而在第一行 即每一次是插入在第一行 什么意思啊?是不是for(int i=100;i>0;i--)啊?-----这是示意啊,一个很大的log文件,我只想在最上面是最新的数据 sorry 我错了下面的代码应该可以FileStream fs = new FileStream("data.bin", FileMode.Create);BinaryWriter w = new BinaryWriter(fs);String strOutput = "";w.BaseStream.Seek(0, SeekOrigin.Begin); // 将文件指针设置到文件开始w.Write( "111" );fs.Close(); 我怕麻烦没有用二进制写,实在不行只有那样来试验了;但用文本流这种方法不行,我早实验过了:string strURL=Server.MapPath("../xxlr/calulation.log");System.IO.StreamWriter fw=new System.IO.StreamWriter(strURL);for(int i=0;i<10;i++){fw.BaseStream.Seek(0,System.IO.SeekOrigin.Begin);fw.WriteLine(i);}fw.Close();结果一样让我失望----不过还是谢谢你,呵呵 FileStream fs = new FileStream(strURL, FileMode.OpenOrCreate);BinaryWriter w = new BinaryWriter(fs);for(int i=0;i<100;i++){w.BaseStream.Seek(0, SeekOrigin.Begin); // 将文件指针设置到文件开始w.Write(i.ToString());}fs.Close();-----结果,似乎指针是移对了,但是却直接覆盖了后面的字段,所以,最后就输出一个-99算了,我想别的办法,是在不行,直接用指针操作了 确实有你说的问题,我也不知道如何解决。最简单的就是我最早说的,先读出99行,保存到一个Stringbuilder 中,然后加入一个新的,然后把这些写到文件中。 确实有你说的问题,我也不知道如何解决。最简单的就是我最早说的,先读出99行,保存到一个Stringbuilder 中,然后加入一个新的,然后把这些写到文件中。------呵呵,你这个方法我也想过了,先把文件读到缓冲区,再加入一条,再写入。但我的log文件很大,我把它写在前面也是想提高速度。如果那样写的话,和我查log的时候遍历整个文档效果是一样的了。------因为通常情况下,程序只检查最近几天的数据,log文件一个月大概有1000行左右,倒不是很多很多,但写不出合理的程序,浑身都不舒服------多谢! C#格式化数字问题 帮忙检查下SQL语句 wp7 同步更新数据 C# 30分钟开一个速度,然后1分钟开另一个速度,如此循环,怎么用timer编 急!怎么样把一个控件设置成透明的 NumbericUpDown控件 请子窗体如何得到主窗体的控件属性,级如何传递参数 c# 使用webBrowser做自动填表,如果取得<OBJECT>元素内包含的子元素并且赋值? 一个小问题,Tabpage的切换? 谁能给一个用delphi写的Dll的例子。能让C#调用的? C#中模运算(求余)是哪个? 如何处理XML对象升级问题
什么意思啊?是不是for(int i=100;i>0;i--)啊?
-----这是示意啊,一个很大的log文件,我只想在最上面是最新的数据
FileStream fs = new FileStream("data.bin", FileMode.Create);
BinaryWriter w = new BinaryWriter(fs);
String strOutput = "";
w.BaseStream.Seek(0, SeekOrigin.Begin); // 将文件指针设置到文件开始
w.Write( "111" );
fs.Close();
string strURL=Server.MapPath("../xxlr/calulation.log");
System.IO.StreamWriter fw=new System.IO.StreamWriter(strURL);
for(int i=0;i<10;i++)
{
fw.BaseStream.Seek(0,System.IO.SeekOrigin.Begin);
fw.WriteLine(i);
}
fw.Close();
结果一样让我失望
----不过还是谢谢你,呵呵
BinaryWriter w = new BinaryWriter(fs);
for(int i=0;i<100;i++)
{
w.BaseStream.Seek(0, SeekOrigin.Begin); // 将文件指针设置到文件开始
w.Write(i.ToString());
}
fs.Close();-----结果,似乎指针是移对了,但是却直接覆盖了后面的字段,所以,最后就输出一个-99
算了,我想别的办法,是在不行,直接用指针操作了
------因为通常情况下,程序只检查最近几天的数据,log文件一个月大概有1000行左右,倒不是很多很多,但写不出合理的程序,浑身都不舒服
------多谢!