WindowsExplorer删除从文件夹获取文件和文件
问题描述:
从我可以告诉有没有方法来告诉如果下降是一个文件或文件夹。WindowsExplorer删除从文件夹获取文件和文件
if(fi.Extension ==“”)不够用,因为它匹配一个目录和一个没有扩展名的文件。
我发现的唯一方法是.GetFiles()并处理异常。
有没有更好的方法?
private void ListView0_DragDrop(object sender, DragEventArgs e)
{
// Can only drop files, so check
if (!e.Data.GetDataPresent(DataFormats.FileDrop))
{
return;
}
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
FileInfo fileInfo;
DirectoryInfo dirInfo;
foreach (string str in files)
{
dirInfo = new DirectoryInfo(str);
try
{
foreach(FileInfo fi in dirInfo.GetFiles())
{
Debug.WriteLine("File in dir " + fi.Name);
}
}
catch
{
fileInfo = new FileInfo(str);
Debug.WriteLine("File " + str);
}
}
答
我会用Directory.Exists和File.Exists增加一个尝试捕捉之前 - 尽管你可能需要反正尽量由于对文件/目录(这两种Exists
方法的安全性可以抛出FileIOException
DirectoryInfo dirInfo;
foreach (string str in files)
{
if (Directory.Exists(str))
{
dirInfo = new DirectoryInfo(str);
foreach(FileInfo fi in dirInfo.GetFiles())
{
Debug.WriteLine("File in dir " + fi.Name);
}
}
else if (File.Exists(str))
{
fileInfo = new FileInfo(str);
Debug.WriteLine("File " + str);
}
}
。这是有效的。+1如果在一天结束时没有任何变化,我会标记为答案。 – Paparazzi 2012-04-23 20:21:51