asp.net向文本文件(txt)指定行(第n行)插入数据

来源:互联网 发布:风暴英雄 阿巴瑟 数据 编辑:程序博客网 时间:2024/04/30 10:34

效果:比如在第4行后面插入“我是阿会楠”,则结果为:

1
2
3
4
我是阿会楠
5
6
7
8
9
目录下必须有“7.txt"这个文本文件,另外其实现方法可能不是最好的,大家看代码如果有新的方法,记得告诉我哦!

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.IO;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
   
            string Path = Server.MapPath("7.txt");
            string str = "我是阿会楠";
            insertStr(Path,str,4);
     
    }

    public void insertStr(string Path,string str,int n)
    {
        string strLineStart = "";
        string strLineEnd = "";
        string strLineEnd2 = "";
        string strLine = "";
       
        try
        {
            //实例化一个StreamReader对象,并申明编码为GB2312
            StreamReader sr = new StreamReader(Path, Encoding.GetEncoding("GB2312"));
          
            //读取插入前的数据
            for (int i = 0; i < n; i++)
            { 
                strLineStart += sr.ReadLine() + "/r/n";

            }

            //后面的数据
            while (strLineEnd != null)
            {
                strLineEnd = sr.ReadLine();
                strLineEnd2 += strLineEnd + "/r/n";
            }


            strLine = strLineStart + str + "/r/n" + strLineEnd2;

            //关闭
            sr.Dispose();
            sr.Close();

            StreamWriter sw = new StreamWriter(Path, false, Encoding.GetEncoding("GB2312"));
            sw.WriteLine(strLine);

            //关闭
            sw.Flush();
            sw.Dispose();
            sw.Close();
             
        }
        catch
        {
        }

      
    }

}

 

原创粉丝点击