本文介绍了如何跳过未经授权访问文件夹,同时创造了FileInfo列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的查找文件,并列出名单。但是,当涉及到需要授权访问的文件夹,它停止。我怎样才能让这个跳过这些文件夹和发扬?
的String []文件类型=新的String [] {3GP AVI,逸,MP4,WMV,
MOV,省油,FLV,}
试
{
的foreach(字符串英尺文件类型)
{
files.AddRange(dif.GetFiles(的String.Format(* {0},英尺),
SearchOption.AllDirectories));
}
}
抓
{
}
解决方案
静态无效的GetFiles(字符串DIR)
{
的String []文件类型=新的String [] { 3GP,AVI,逸,MP4,WMV,
MOV,省油,FLV,}
的foreach(在文件类型的字符串英尺)
{
的foreach(在Directory.GetFiles字符串文件(目录,的String.Format(* {0},英尺),
SearchOption.TopDirectoryOnly)))
{
files.Add(新的FileInfo(文件));
}
}
的foreach(在Directory.GetDirectories串子目录(DIR))
{
试
{
的GetFiles(SUBDIR);
}
抓
{
}
}
}
不要使用递归不是 AllDirectories
像<$ C $运行它,它C>的GetFiles(DIF)
I have this for finding files and listing to list .but when it comes to a folder that needs authorized access, it stops. How can I make this skip those folders and carry on?
string[] filetypes = new string[] { "3gp", "avi", "dat", "mp4", "wmv",
"mov", "mpg", "flv", }
try
{
foreach (string ft in filetypes)
{
files.AddRange(dif.GetFiles(string.Format("*.{0}", ft),
SearchOption.AllDirectories));
}
}
catch
{
}
解决方案
static void GetFiles(string dir)
{
string[] filetypes = new string[] { "3gp", "avi", "dat", "mp4", "wmv",
"mov", "mpg", "flv", }
foreach(string ft in filetypes)
{
foreach (string file in Directory.GetFiles(dir, string.Format("*.{0}", ft),
SearchOption.TopDirectoryOnly)))
{
files.Add(new FileInfo(file));
}
}
foreach (string subDir in Directory.GetDirectories(dir))
{
try
{
GetFiles(subDir);
}
catch
{
}
}
}
Do it using recursion not AllDirectories
run it like GetFiles(dif)
这篇关于如何跳过未经授权访问文件夹,同时创造了FileInfo列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!