如何用c#实现将文件的指定位置指定长度的内容覆盖?我用BinaryWriter在aa.pts文件里面写入内容: 
aaaaaabbbbbbccccccdddddd 现在我要将bbbbbb覆盖掉变成 
aaaaaaccccccdddddd
考虑过一个读取,一个创建新的。读出来一行,就判断是否需要添加,是就添加了再写入新的。不过这样应该不太好,不知道有没有好的思路?请指教!

解决方案 »

  1.   

    File.ReadAllText
    File.WriteAllText
    按行读取文件
      

  2.   

    FileStream fs1 = new FileStream(strFile1, FileMode.OpenOrCreate, FileAccess.Write);
    StreamWriter m_streamWriter = new StreamWriter(fs);
    m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin );FileStream fs = new FileStream(strFile, FileMode.Open, FileAccess.Read);
    StreamReader m_streamReader = new StreamReader(fs);
    m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
    string strLine = m_streamReader.ReadLine();
    while (strLine != null)
    {
        strLine = m_streamReader.ReadLine();
        strLine=strLine.Replace("bbbbbb","aaaa");
        m_streamWriter.WriteLine(strLine);
    }
    m_streamReader.Close();
    m_streamWriter.Close();