C采用WHERE查找目录或文件名

更新时间:2023-06-11 05:05:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C#采用WHERE查找目录或文件名

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

using System.Collections;

using System.Windows.Forms;

namespace UseWhereFunc

{

class FileBrowserHelper

{

//-----------------------------------------------------------------------------------------------------

/// <summary>

/// 获取指定文件夹下的所有文件

/// </summary>

/// <param name="FolderName"></param>

/// <returns></returns>

public static List<FileInfo>GetAllFilesInFolder(string FolderName)

{

try

{

List<FileInfo>FileInformations=null;

if (Directory.Exists(FolderName))

{

DirectoryInfo DirectoryInfomation=new DirectoryInfo(FolderNam e);

FileInformations=DirectoryInfomation.GetFiles().ToList<FileInfo> ();

}

return FileInformations;

}

catch

{

/// 有些文件夹访问需要有特殊的权限,当不能拥有此权限时,简单地返回一个NULL指针

return null;

}

}

//-----------------------------------------------------------------------------------------------------

/// <summary>

/// 获取指定目录下的所有子目录

/// </summary>

/// <param name="FolderName"></param>

/// <returns></returns>

public static List<DirectoryInfo>GetAllDirectories(string FolderName)

{

try

{

List<DirectoryInfo>DirectoryInfomations=null;

if (Directory.Exists(FolderName))

{

DirectoryInfo_DirectoryInfo=new DirectoryInfo(FolderName);

DirectoryInfomations=_DirectoryInfo.GetDirectories().ToList<Dir ectoryInfo>();

}

return DirectoryInfomations;

}

catch (Exception)

{

/// 有些目录访问需要有特殊的权限,当不能拥有此权限时,简单地返回一个NULL指针

return null;

}

}

//-----------------------------------------------------------------------------------------------------

/// <summary>

/// 在一个列表框中显示集合中的所有文件名

/// </summary>

/// <param name="files"></param>

/// <param name="list"></param>

public static void ShowFileListInListBox(IEnumerable<FileInfo>files, List Box list)

{

list.Items.Clear();

foreach (FileInfo file in files)

list.Items.Add();

}

}

}

//-----------------------------------------------------------------------------------------------------

private void btnFind_Click(object sender, EventArgs e)

{

if (txtFindWhat.Text.Trim().Length==0)

return;

if (folderBrowserDialog1.ShowDialog() ==DialogResult.OK)

{

string FolderName=folderBrowserDialog1.SelectedPath;

lblFolder.Text=FolderName;

/// 通过FolderName,查找该文件夹下所有文件

List<FileInfo>FileInfomations=FileBrowserHelper.GetAllFilesInFol der(FolderName);

/// 根据输入的名称,过滤出所需的文件列表

IEnumerable<FileInfo>FileInfomationFilter=FileInfomations.Where <FileInfo>(

file=>Path.GetFileNameWithoutExtension().IndexOf(tx tFindWhat.Text.Trim()) !=-1);

FileBrowserHelper.ShowFileListInListBox(FileInfomationFilter, lstFil es);

}

}

本文来源:https://www.bwwdw.com/article/uco1.html

Top