RT

解决方案 »

  1.   

    你用streamreader读取文件,定义个读取行数,根据读取行数用streamwrite来写出文章
    private int pagecount=0;
    private int pagenumber=200;
    while(sr.read())
    {
      sw.writeline(sr.readline());
    }
      

  2.   

    假设你的长文章是存在数据库中的SQL分页算法http://www.knowsky.com/339541.html
    全英文的,相比国内的技术帖,还做了性能测试的分析。http://www.codeproject.com/aspnet/PagingLarge.asp分页有两种SQL语句的写法,但性能不同。分别是:SELECT TOP 10 * FROM TAlarmTag where TagId not in (SELECT TOP 810 TagId FROM TAlarmTag order by TagId asc) order by TagId asc SELECT Top 10 * FROM TAlarmTag WHERE TagId > (SELECT MAX(TagId) FROM (SELECT TOP 810 TagId FROM TAlarmTag ORDER BY TagId asc) AS TEMP) order by TagId 以上两种写法得到的结果都是一样的,但后一种写法的性能更好,速度是前一种的2倍。(各运行1000次,并取平均值,再比较) 测试代码:long[] runtime = new long[1000];            for (int i = 0; i < 1000; i++)            {                using (SqlConnection connection = new SqlConnection(this.connectionStrings))                {                    connection.Open();                    SqlCommand command = connection.CreateCommand();                    command.CommandText = textBox1.Text;                    Stopwatch sw = new Stopwatch();                    sw.Start();                    SqlDataReader reader = command.ExecuteReader();                    object o;                    while (reader.Read())                    {                        o = reader[0];                    }                    sw.Stop();                    runtime[i] = sw.Elapsed.Ticks;                }            }            long average = runtime[0];            foreach (long one in runtime)            {                average = (one + average) / 2;            }            label1.Text = Convert.ToString(average);