读取txt文件如何实现分页功能???? 我要读一个txt文件,在页面显示txt文件的内容,txt文件中有4千多条记录,在页面,我只显示前50条记录,当我点击下一页的时候,再从第51条记录读起(读50条),这个怎么实现啊???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 全部读取出来,放在DataTable或者直接跳行显示 string[] _FileLineText = File.ReadAllLines(@"C:\1.txt", Encoding.Default);对 _FileLineText 分页就好处理了. 在查询语句上分页啊sql语句每次按照主键查询啊 不好意识我忘记你是读取txt文本了。那个我也不知道。 我第一想到的也是 全部读取出来,放在DataTable 中。关注 使用OleDb读取txt文件到一DataTable中去, 然后处理分页, 好像在CodeProject有看到过相关解析Text文本的库 汗·····CodeProject全是英文啊,我英文好差的哦,,,你这个是一次性读完整个txt文件吗?要是我的txt文件有800MB,或是1G怎么办???也一次读完吗?那这样很慢的哦? 文件有800MB,或是1G 必须分割文件 随手写来。仅供参考。long lCurrPos = 0; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string Str = "abc.txt"; FileStream FS = new FileStream(Str, FileMode.Open); FS.Position = lCurrPos; byte[] bdata = new byte[1024]; int iResult = FS.Read(bdata, 0, bdata.Length - 1); //如果是汉字文档,此处易出现乱码 if (bdata[iResult - 1] > 127) { iResult = iResult + FS.Read(bdata, bdata.Length - 1, 1); } lCurrPos = FS.Position; FS.Close(); FS = null; Str = Encoding.Default.GetString(bdata, 0, iResult); Array.Clear(bdata, 0, bdata.Length); textBox1.Text = Str; } 行的长度不确定..怎么获取每行的开始位置... 你使用OLEDB连接TXT看看把..效果不一定好。 对啊 txt的长度是不定的很难去规定它的 那如果我的txt文件的内容是固定不变的?怎么实现这个功能?要是能实现在我指定的位置读取就好了···· 这个是可以的 FileStream.Read 就可以了.. 我的方法怎么不可以呢?long lCurrPos = 0;不就是记录分页的位置的的吗? C# 通过文件名获取文件路径 C# 自定义类问题 为什么读不出App.Config中的信息? 多线程问题,怎么能让所有线程执行完后再执行之后的语句?急,在线等 VS2005中的webform上的控件位置怎么自由放置呀? 关于DataTable中数据过滤的问题,我已经搜索过,之前没有人提过 +++++++问2个.net中的小问题,马上给分! SetPixel图片保存问题.. Reader的问题??? 多线程问题? DataSet更新数据库问题 C#: ASP.NET页面里如何调用winform程序里的一个窗体?
对 _FileLineText 分页就好处理了.
sql语句每次按照主键查询啊
我忘记你是读取txt文本了。
那个我也不知道。
汗·····CodeProject全是英文啊,我英文好差的哦,,,你这个是一次性读完整个txt文件吗?要是我的txt文件有800MB,或是1G怎么办???也一次读完吗?那这样很慢的哦?
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
string Str = "abc.txt";
FileStream FS = new FileStream(Str, FileMode.Open);
FS.Position = lCurrPos;
byte[] bdata = new byte[1024];
int iResult = FS.Read(bdata, 0, bdata.Length - 1);
//如果是汉字文档,此处易出现乱码
if (bdata[iResult - 1] > 127)
{
iResult = iResult + FS.Read(bdata, bdata.Length - 1, 1);
}
lCurrPos = FS.Position;
FS.Close();
FS = null;
Str = Encoding.Default.GetString(bdata, 0, iResult);
Array.Clear(bdata, 0, bdata.Length);
textBox1.Text = Str;
}
这个是可以的 FileStream.Read 就可以了..
long lCurrPos = 0;
不就是记录分页的位置的的吗?