如何在localhost上打开txt文件并更改内容

时间:2013-03-03 15:56:15

标签: c# css

我想使用C#4.5打开一个css文件,一次只能更改一个文件。

这样做会给我一个例外 - 不支持 URI格式

  1. 最有效的方法是什么?
  2. 我可以找到该行并替换它而不读取整个文件吗?
  3. 我正在查找的行是否可以直到插入文本 光标指向一些char?

    public void ChangeColor()
    {
        string text = File.ReadAllText("http://localhost:8080/game/Css/style.css");
    
        text = text.Replace("class='replace'", "new value");
    
        File.WriteAllText("D://p.htm", text);
    }
    

3 个答案:

答案 0 :(得分:0)

我相信File.ReadAllText期待文件路径,而不是网址。

不,如果不阅读和重写整个文件,就无法搜索/替换文本文件的各个部分。它只是一个文本文件,而不是数据库。

答案 1 :(得分:0)

最有效的方法是将任何想要更改css的控件声明为“runat = server”,然后修改它的CssClass属性。没有已知的替代方法可以直接修改css文件。任何其他黑客只是......一个黑客和非常有效的方式来做到这一点。

答案 2 :(得分:0)

如前所述,File.ReadAllText不支持url。以下是WebRequest的一个工作示例:

{
    Uri uri = new Uri("http://localhost:8080/game/Css/style.css");

    WebRequest req = WebRequest.Create(uri);
    WebResponse web = req.GetResponse();
    Stream stream = web.GetResponseStream();

    string content = string.Empty;

    using (StreamReader sr = new StreamReader(stream))
    {
        content = sr.ReadToEnd();
    }

    content.Replace("class='replace'", "new value");

    using (StreamWriter sw = new StreamWriter("D://p.htm"))
    {
        sw.Write(content);
        sw.Flush();
    }
}