今天的工作就是动态生成一个文件,根据用户设置的不同,生成的文件也不同。其实要生成的文件是一个文本文件,文本内容是.aspx.cs的代码。
    已经为文件写好了一个范例,并且把一些需用户设置的值当作变量,放在了需要更改的区域,用户修改之后,只需要把这些变量的值更改一下即可。
      
    范例代码剪切:
   
柳暗花明又一村 - C#中对文件进行的操作        protected System.Web.UI.WebControls.Button BTSearch;
柳暗花明又一村 - C#中对文件进行的操作        
protected System.Web.UI.WebControls.TextBox TBSearch;
柳暗花明又一村 - C#中对文件进行的操作        
protected System.Web.UI.WebControls.DropDownList Community;
柳暗花明又一村 - C#中对文件进行的操作
柳暗花明又一村 - C#中对文件进行的操作        
柳暗花明又一村 - C#中对文件进行的操作
//以下就是需更改的区域
柳暗花明又一村 - C#中对文件进行的操作        
//--Begin--
柳暗花明又一村 - C#中对文件进行的操作
        protected string pageid="10";
柳暗花明又一村 - C#中对文件进行的操作        
protected string tablename="LJF";
柳暗花明又一村 - C#中对文件进行的操作        
protected ArrayList al=new ArrayList();
柳暗花明又一村 - C#中对文件进行的操作
柳暗花明又一村 - C#中对文件进行的操作        
protected void SetArrayList()
        }

需更改的地方,以//--Begin开始,以//--End--结束。

但是,很麻烦,找帮助找了几个小时,发现在C#中StreamWriter类,FileStream类好像只支持简单的对文件进行写入,读出工作。要把中间那一段需修改的字符串抽取出来,修改后,再保存回该文件,我没办到!

后来,找到了一个解决办法,就是,把文件全部读出来,放到String对象中去,String类中对字符串的操作可强多了。以下是解决的代码:
柳暗花明又一村 - C#中对文件进行的操作            string path=@"D:\browser.aspx.cs";
柳暗花明又一村 - C#中对文件进行的操作            StreamReader sr 
= new StreamReader(path,Encoding.Default); //把文件读到流中
柳暗花明又一村 - C#中对文件进行的操作
            string allstr = sr.ReadToEnd(); //文件中的内容放入String对象allstr中
柳暗花明又一村 - C#中对文件进行的操作
            sr.Close();
柳暗花明又一村 - C#中对文件进行的操作
柳暗花明又一村 - C#中对文件进行的操作            
//下面先把文件分割出来,然后填入相应的设置的变量进去,最后进行整合。
柳暗花明又一村 - C#中对文件进行的操作            
//剥离文件--头部分
柳暗花明又一村 - C#中对文件进行的操作
            int begin=allstr.IndexOf("//--Begin--")+11;
柳暗花明又一村 - C#中对文件进行的操作            
string strBegin = allstr.Substring(0,begin);
柳暗花明又一村 - C#中对文件进行的操作            
柳暗花明又一村 - C#中对文件进行的操作            
//剥离文件--尾部分
柳暗花明又一村 - C#中对文件进行的操作
            int end = allstr.IndexOf("//--End--");
柳暗花明又一村 - C#中对文件进行的操作            
string strEnd = allstr.Remove(0,end);
柳暗花明又一村 - C#中对文件进行的操作            
柳暗花明又一村 - C#中对文件进行的操作            
//设置后缀代码中需修改变量的值
柳暗花明又一村 - C#中对文件进行的操作
            string strmodify="protected string pageid=\""+spageid+"\";\n";
柳暗花明又一村 - C#中对文件进行的操作            strmodify
=strmodify+"protected string tablename=\""+stablename+"\";\n";
柳暗花明又一村 - C#中对文件进行的操作            strmodify
=strmodify+"protected ArrayList al=new ArrayList();\n";
柳暗花明又一村 - C#中对文件进行的操作            strmodify
=strmodify+"protected void SetArrayList()\n";
柳暗花明又一村 - C#中对文件进行的操作            strmodify
=strmodify+"{ al.Clear();\n";
柳暗花明又一村 - C#中对文件进行的操作
柳暗花明又一村 - C#中对文件进行的操作            
string strmodify2="";
柳暗花明又一村 - C#中对文件进行的操作            
for(int i=0;i<sserach.Count;i++)
            sw.Close();


至此,棘手的问题解决,Happy~~~

相关文章:

  • 2021-07-25
  • 2021-11-14
  • 2021-04-25
  • 2021-10-21
  • 2021-08-06
  • 2021-11-30
猜你喜欢
  • 2021-12-26
  • 2022-02-09
  • 2021-05-10
  • 2022-12-23
  • 2021-11-28
  • 2022-01-21
相关资源
相似解决方案