| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 457 人关注过本帖
标题:求助:程序处理数据量比较大的文件夹时的报错
只看楼主 加入收藏
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
 问题点数:0 回复次数:7 
求助:程序处理数据量比较大的文件夹时的报错

我写了一个程序,可以显示D盘某个文件夹下所有文件的目录的,对于一般的文件夹操作都没有问题,我试了对一个有50G大的文件夹都可以显示所有的文件路径,但是对一个200G大的文件夹却出现提示不能读取文件。请问,为什么,怎么解决?

搜索更多相关主题的帖子: 数据 文件 
2007-11-01 15:16
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 

有没有好的办法,帮帮忙哦!!

2007-11-01 17:22
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 

有会的朋友吗?指点一下哦!

2007-11-02 15:58
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
收藏
得分:0 
Dictory.GetFiles()...没必要读文件啊?你怎么读的?

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-11-02 16:04
shen521941
Rank: 2
等 级:论坛游民
威 望:1
帖 子:428
专家分:22
注 册:2006-12-1
收藏
得分:0 

是 阿 ,你的意思是只要得到文件名 ,没必要读阿!


曾经有双翅膀,我没用她飞上蓝天,丢锅里炖汤了!
2007-11-02 16:40
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 

不好意思,我说的不标准,准确的说我是想把D:\2006gc01文件夹下面包含的所有文件的路径先显示在LISTBOX里面,然后点击保存按扭,就会把显示的内容保存到d:\2006gc01.txt文本里。结果就是打开文本后显示这样:(如果对于一般的文件都操作正常,关键就是这个2006gc01文件夹有270G那么大,但没有使用磁盘阵列,程序一直运行就是得不到结果,这样如果处理?)
D:\\2006gc01\X2\97655X\000\001\20896392.PDF
----------------------------------------------
D:\\2006gc01\X2\96187X\018\001\20825731.pdf
----------------------------------------------
D:\\2006gc01\X2\81066X\000\001\20879861.PDF
D:\\2006gc01\X2\81066X\000\001\20879870.PDF
D:\\2006gc01\X2\81066X\000\001\20879874.PDF
----------------------------------------------

具体代码是:
private void button1_Click(object sender, EventArgs e)
{

this.textBox1.Text = "D:\\2006gc01";
if (this.textBox1.Text.Trim() == "")
return;
this.listBox1.Items.Clear();
GetAllFiles(textBox1.Text);


}

public void GetAllFiles(string parentDir)
{

string[] dir = Directory.GetDirectories(parentDir);
for (int i = 0; i < dir.Length; i++)
GetAllFiles(dir[i]);
string[] file = Directory.GetFiles(parentDir);
for (int i = 0; i < file.Length; i++)
this.listBox1.Items.Add(file[i]);
if (file.Length != 0)
{
this.listBox1.Items.Add("----------------------------------------------");
}

}

private void button2_Click(object sender, EventArgs e)
{
string path = @"d:\2006gc01.txt";
if (!File.Exists(path))
{

File.CreateText(path);
}

string str = "";
foreach (string s in listBox1.Items)
{
str += s;
str += "\r\n";
}
File.WriteAllText(path, str);

}

2007-11-03 14:45
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 
对了,如果添加了listBox1.BeginUpdate();listBox1.EndUpdate();语句是不是就会使运行效率快一点?有没有知道该怎么做的?

2007-11-05 10:46
aubblove
Rank: 1
等 级:新手上路
帖 子:117
专家分:0
注 册:2007-8-18
收藏
得分:0 

郁闷。,怎么没人回复呢,版主帮看一下嘛!!谢了!

2007-11-06 10:56
快速回复:求助:程序处理数据量比较大的文件夹时的报错
数据加载中...
 
   



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

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