首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#簡單的問題。解决思路

2012-09-10 
C#簡單的問題。。C# codeif (!File.Exists(SwitchFailure.txt)){FileStream fs1 new FileStream(Switch

C#簡單的問題。。

C# code
if (!File.Exists("SwitchFailure.txt"))                    {                        FileStream fs1 = new FileStream("SwitchFailure.txt", FileMode.Create, FileAccess.Write);//创建写入文件                         StreamWriter sw = new StreamWriter(fs1);                        sw.WriteLine("DocNo:" + dt.Rows[i][1].ToString().Trim() + "\r\nDocRev:" + dt.Rows[i][2].ToString().Trim()+"\r\n---------------------\r\n");//开始写入值                        sw.Close();                        fs1.Close();                    }                    else                    {                        FileStream fs = new FileStream("SwitchFailure.txt", FileMode.Open, FileAccess.Write);                        StreamWriter sr = new StreamWriter(fs);                        sr.WriteLine("\r\nDocNo:" + dt.Rows[i][1].ToString().Trim() + "\r\nDocRev:" + dt.Rows[i][2].ToString().Trim()  + "\r\n---------------------");                        sr.Close();                        fs.Close();                    }


爲什麽後面寫入值就覆蓋了前面的值呢,就是只保留了最後一組值。求高手解答。

[解决办法]
也是一新手 ,
应该是这个错了FileStream fs = new FileStream("SwitchFailure.txt", FileMode.Open, FileAccess.Write);
创建文件流,追加文件,不是FileMode.Open,应该是FileMode.Append
不然每次文件指针都是指向开头的。。。
[解决办法]
从第二组写入之前先把指针放到最后,然后再写入信息吧。
[解决办法]
else
{
FileStream fs = new FileStream("SwitchFailure.txt", FileMode.Open, FileAccess.Write);
StreamWriter sr = new StreamWriter(fs);
sr.WriteLine("\r\nDocNo:" + dt.Rows[i][1].ToString().Trim() + "\r\nDocRev:" + dt.Rows[i][2].ToString().Trim() + "\r\n---------------------");
sr.Close();
fs.Close();
}


这里面的 FileMode.Open改为 FileMode.Append

热点排行