我写了一个程序,可以显示D盘某个文件夹下所有文件的目录的,对于一般的文件夹操作都没有问题,我试了对一个有50G大的文件夹都可以显示所有的文件路径,但是对一个200G大的文件夹却出现提示不能读取文件。请问,为什么,怎么解决?
有没有好的办法,帮帮忙哦!!
不好意思,我说的不标准,准确的说我是想把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);
}