asp.net生成静态文件

来源:互联网 发布:天鹅湖城农场游戏源码 编辑:程序博客网 时间:2024/06/05 13:29

     public static bool WriteFile(string strText, string strContent, string strAuthor)
    {

        string path = HttpContext.Current.Server.MapPath("~/news/");


        Encoding code = Encoding.GetEncoding("gb2312");

        // 读取模板文件

        string temp = HttpContext.Current.Server.MapPath("~/news/text.htm");

        StreamReader sr = null;

        StreamWriter sw = null;

        string str = "";

        try
        {
            sr = new StreamReader(temp, code);
            str = sr.ReadToEnd(); // 读取文件
        }
        catch (Exception exp)
        {
            HttpContext.Current.Response.Write(exp.Message);
            HttpContext.Current.Response.End();
            sr.Close();
        }

        string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";

        // 替换内容

        // 这时,模板文件已经读入到名称为str的变量中了

        str = str.Replace("{ShowArticle}", strText); //模板页中的ShowArticle
        //str = str.Replace("{biaoti}", strText);
        //str = str.Replace("{content}", strContent);
        //str = str.Replace("{author}", strAuthor);

        // 写文件
        try
        {
            sw = new StreamWriter(path + htmlfilename, false, code);
            sw.Write(str);
            sw.Flush();
        }
        catch (Exception ex)
        {
            HttpContext.Current.Response.Write(ex.Message);
            HttpContext.Current.Response.End();
        }
        finally
        {
            sw.Close();
        }
        return true;
    }

 

 

 

    /// <summary>
    /// 读文件方法
    /// </summary>
    /// <param name="filename">文件名</param>
    /// <returns>文件内容</returns>
    private string ReadFile(string filename)
    {
        string str = "";
        string filenamepath = Server.MapPath(".") + "//" + filename;
        //打开文件
        StreamReader sr = File.OpenText(filenamepath);
        str = sr.ReadToEnd();
        sr.Close();
        return str;
    }

    /// <summary>
    /// 写文件方法
    /// </summary>
    /// <param name="Path">文件名</param>
    /// <param name="Strings">文件内容</param>
    public void WriteFile(string Path, string Strings)
    {
        StreamWriter sw = null;

        try
        {
            sw = new StreamWriter(Path, false, System.Text.Encoding.UTF8);
            sw.Write(Strings);
            sw.Flush();
        }
        catch (Exception exp)
        {
            HttpContext.Current.Response.Write(exp.Message);
            HttpContext.Current.Response.End();
        }
        finally
        {
            sw.Close();
        }
    }


    protected void Button1_Click(object sender, EventArgs e)
    {
        WriteFile("JScript2.js", TextArea1.Value);
    }