| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3761 人关注过本帖
标题:怎样从一个文本文件中读取大数据量数据方法?
只看楼主 加入收藏
caiyingying
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-31
收藏
 问题点数:0 回复次数:6 
怎样从一个文本文件中读取大数据量数据方法?

怎样从一个文本文件中读取大数据量数据方法?

例如:一个.txt文本文件:file.txt,大小:80MB,也就是说这个文本文件中有80MB信息数据。

如果用常规的方法读取,势必会造成服务器的极大负荷,甚至无法承受乃至崩溃。

程序方面的思路: 用System.IO.StreamReader.ReadLine()读取这些数据时,是否能把这些数据划分成若干小块,例如把它们划分成1024KB大小的区块,然后依次分批循环把它们读出

搜索更多相关主题的帖子: 数据量 文本文件中 服务器 txt 区块 
2005-09-01 08:59
wj2051
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-8-24
收藏
得分:0 
自定义一个byte[]变量,设定大小为1024,然后放在while循环中,用原文件长度作为判断条件,不断读取后写入直到长度返回-1

2005-09-01 14:41
caiyingying
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-31
收藏
得分:0 
我很苯的,能不能给一个简单的例子。
2005-09-02 10:22
wj2051
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-8-24
收藏
得分:0 

FileStream streamIn=new FileStream("读取.txt",FileMode.Open); FileStream streamOut=new FileStream("写入.txt",FileMode.Create);

byte[] read=new byte[1024]; long readlen=0; int len; while(readlen<streamIn.Length) { len=streamIn.Read(read,0,1024); streamOut.Write(read,0,len); readlen+=len; } cs.Close(); streamOut.Close(); streamIn.Close();


2005-09-02 17:35
caiyingying
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-31
收藏
得分:0 
谢谢您。

对不起,我没有说清楚,不是单纯的从一个文本写入到另一个文本

应该是:
   有一个条件文本: term.txt或者是term.xml   //假设这里有1000个条件(好象txt格式没有类似数据库字段功能的自动编号,也不能对文本进行动态排序,如果少了这些条件就不可以操作,那么就假设这个 term.txt 文本文件是一个 term.xml 文件。)
   有一个数据文本:records.txt //假设这里面有超过1G的数据

   把数据文本 records.txt 读出后,和条件文本 term.txt/term.xml  作比较,然后把符合条件的文本随便生成一个txt格式文件,例如 result.txt。
  
FileStream streamIn=new FileStream("读取.txt",FileMode.Open);    //假如这是一个条件
FileStream streamOut=new FileStream("写入.txt",FileMode.Create); //将符合条件的文本写入

。。。。。
。。。。。
len=streamIn.Read(read,0,1024);
    streamOut.Write(read,0,len);
    readlen+=len;
我试了,这个streamIn没法读取(输出功能),没有办法把获得的数据进行对比。

[此贴子已经被作者于2005-9-6 11:45:53编辑过]


2005-09-06 11:27
caiyingying
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-31
收藏
得分:0 
up
2005-09-12 17:36
天一
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2005-8-1
收藏
得分:0 
你好,我看到你发的贴字了。
如果发送的内容比较大的话,很容易有引发异常。
这么大的文件传输很容易出问题。

我建议用对象流读取。

ObjectReaderStream
ObjectWriterStream

BufferedReaderStream
BufferedWriterStream

2005-09-16 12:09
快速回复:怎样从一个文本文件中读取大数据量数据方法?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018411 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved