最近一直在想搞一个小说网站。专门去别的小说网站读取类容来放到自己的网站上。如果把数据放在数据库,那样数据库会很大。这点我直接不考虑了。以前我用ACCESS试过。20W行数据下来就4G多了。
     现在想把数据放到TXT文本里面写入到很简单
     直接StreamWriter sw = new StreamWriter(Server.MapPath("1.txt"), true);
     sw.WriteLine("数据")写入数据     但我现在想读取,也可以读取出来。
string txt = ReadSrc(Server.MapPath("1.txt"));
        if (string.IsNullOrEmpty(txt))
            TextBox1.Text = "暂无数据";
        else
        {
            List<List<string>> txtList = new List<List<string>>();
            string[] txtArg = txt.Split('\n');
            foreach (string t in txtArg)
            {
                string[] ta = t.Split(','); 
                List<string> ls = new List<string>();
                foreach (string a in ta)
                {
                    if (!string.IsNullOrEmpty(a))
                        ls.Add(a);
                }
                txtList.Add(ls);
            }
            foreach (List<string> l in txtList)
            {
                foreach (string b in l)
                {
                    TextBox1.Text += b;
                }
            }
        }
     问题来了:我想分段读取。
     比如我1.TXT里面的数据是这样的      第一章(标题)
      内容1
      内容2
      内容3      第二章(标题)
      内容1      第三章(标题)
      内容1
      内容2
      内容3
      内容4
这样读取  也可以把他读取出来分段放入dataset 里面也行、
求思路,求代码,求方法

解决方案 »

  1.   

    用xml和txt结合着用  就可以解决!
      

  2.   

    只要你硬盘足够大,sql前提设置自动增长,应该是没有问题的,另外,txt也是在硬盘上,而且读取的时候还多了许多不必要的麻烦,比如查询,比如排序
      

  3.   

    用内存映射,每次映射一块CreateFileMappingMapViewOfFile
      

  4.   

    你的ReadSrc 方法改一下不就好了?代码贴一下我怀疑你的ReadSrc 一次可以读20W行,应该也是分段读的
    ps.写在txt没有比access要省空间,只不过你的表没设计好,有很多空格而已,所以才会有4G多