我有个aaa.txt,想把里面的标记字符$title 替换成"abc",不知道該怎么读和写的操作,请指教,另外,这样的读写方法是对所有类型的文本(后缀不同)都起作用的吗

解决方案 »

  1.   

    我希望的是只改标记符的内容,而其它内容不作改动,假设aaa.txt有一千行,那改其中有标记符的那一行
      

  2.   

    想做模板分析类吧。网站要改静态的么?
    $title 不是很好。应为太容易匹配了修改为{$sds:12:212:23$} 或 {$sds:12:212:23} 的形式就好了
    模板一般是htm文件 生成页面是shtml页面
    给你个模板分析类的关键函数 void LabelAnalyStarDebug.Star(object obj)
    {
    string ArticCont=ControlFile.ShowFile(ControlFile.ReadFile(this.readpath,true));
    Regex r = new Regex(this.reg,RegexOptions.IgnoreCase);
    Match m = r.Match(ArticCont);
    string biaoqian=string.Empty,returnback=string.Empty;
    while (m.Success)
    {
    Group g = m.Groups[1];
    biaoqian=@"{$"+ g.Value + @"$}";
    string[] arrpar=g.Value.Split(':');
    returnback=this.Execute(ref obj,arrpar[0],arrpar);
    ArticCont=Regex.Replace(ArticCont,@"\{\$("+ g.Value +@")\$\}",returnback);
    m = m.NextMatch();
    }
    ControlFile.WriteFile(this.writepath,ArticCont);
    }
    他有两个属性  读文件的地址和写文件的地址
    调用方法为 LabelAnalyStarDebug b=(LabelAnalyStarDebug) new WebForm1_base(this);
    b.ReadPath=this.Server.MapPath("WebForm1.htm");
    b.WritePath=this.Server.MapPath("WebForm1.shtml");
    b.Star();
      

  3.   

    public static string ReadFile(string path,bool istrue)
    {
    try
    {
    if(!File.Exists(path))
    {
    return null;
    }
    else
    {
    StreamReader sr= new StreamReader(path,Encoding.GetEncoding(936));
    string input=string.Empty;
    StringBuilder outstr=new StringBuilder(6000);
    while ((input=sr.ReadLine())!=null) 
    {
    outstr.Append(input);
    }
    sr.Close();
    Page page=new Page();
    if(istrue)
    return page.Server.HtmlEncode(outstr.ToString());
    else
    return outstr.ToString();
    }
    }
    catch
    {
    return null;
    }

      

  4.   


    if(File.Exists(@"c:\abc.txt"))
    {
    StreamWriter sr = File.AppendText((@"c:\abc.txt");
    sr.WriteLine ("\n");
    sr.WriteLine ("TestMessage");
    sr.Close();
    }
    else
    {
    StreamWriter sr = File.CreateText((@"c:\abc.txt");
    sr.Close();
    }
      

  5.   

    string strTxt ="";读
    if (File.Exists(Library.Constants.GlobalType.RESLUT_FILE_NAME))
    {
    StreamReader sr = File.OpenText(@"c:\abc.txt");
    strTxt = sr.ReadToEnd();
             strTxt=strTxt.Replace("$title","abc");
    sr.Close();
    }
    替换后写进去
    StreamWriter sw=StreamFile.CreateText(@"c:\abc.txt");
    sr.Write(strTxt);
    sw.Close()
      

  6.   

    文本文件不就是以流的方式读出来的吗
    又不是XML文件,可以只更新某一部分
      

  7.   

    各位,我试过以后,发现有点不理想,HTML代码在重新生成后全在一行显示,不会自动换行