多文件扩展名是searchPattern的System.IO.Directory.GetFiles

编程入门 行业动态 更新时间:2024-10-26 12:31:44
本文介绍了多文件扩展名是searchPattern的System.IO.Directory.GetFiles的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

什么是语法上的 Directory.GetFiles设置的多个文件扩展名作为是searchPattern ()?例如过滤掉文件的的.aspx 和的.ascx 的扩展。

// TODO:设置该字符串'是searchPattern'只与获取文件 //扩展'.ASPX'和'的.ascx。 VAR filteredFiles = Directory.GetFiles(路径,是searchPattern);

更新: LINQ是不是一种选择,它必须是一个是searchPattern 传入的GetFiles ,在这个问题中指定。

解决方案

我相信没有开箱即用的解决方案,这就是Directory.GetFiles方法的限制。

这是相当容易的,虽然写你自己的方法,这里是一个example.

在code可能是:

///<总结> ///从符合给定的过滤器给定文件夹返回的文件名 ///< /总结> ///< PARAM NAME =SourceFolder>文件夹与文件检索和LT; /参数> ///< PARAM NAME =过滤器>由分隔的多个文件过滤器|人物< /参数> ///< PARAM NAME =searchOption> File.IO.SearchOption, ///可能是AllDirectories或TopDirectoryOnly< /参数> ///<返回>的FileInfo对象的数组的文件名是presents集合 ///满足给定的过滤器和LT; /回报> 公共字符串[]的GetFiles(字符串SourceFolder,串过滤器,  System.IO.SearchOption searchOption) {  // ArrayList的将持有的所有文件名 ArrayList的alFiles =新的ArrayList();  //创建过滤字符串数组  字符串[] MultipleFilters = Filter.Split('|');  //为每个过滤器找到mathing文件名  的foreach(在MultipleFilters字符串的FileFilter)  {   //添加发现文件名数组列表   alFiles.AddRange(Directory.GetFiles(SourceFolder,一个FileFilter,searchOption));  }  //返回有关文件名的字符串数组  返回(串[])alFiles.ToArray(typeof运算(字符串)); }

What is the syntax for setting multiple file-extensions as searchPattern on Directory.GetFiles()? For example filtering out files with .aspx and .ascx extensions.

// TODO: Set the string 'searchPattern' to only get files with // the extension '.aspx' and '.ascx'. var filteredFiles = Directory.GetFiles(path, searchPattern);

Update: LINQ is not an option, it has to be a searchPattern passed into GetFiles, as specified in the question.

解决方案

I believe there is no "out of the box" solution, that's a limitation of the Directory.GetFiles method.

It's fairly easy to write your own method though, here is an example.

The code could be:

/// <summary> /// Returns file names from given folder that comply to given filters /// </summary> /// <param name="SourceFolder">Folder with files to retrieve</param> /// <param name="Filter">Multiple file filters separated by | character</param> /// <param name="searchOption">File.IO.SearchOption, /// could be AllDirectories or TopDirectoryOnly</param> /// <returns>Array of FileInfo objects that presents collection of file names that /// meet given filter</returns> public string[] getFiles(string SourceFolder, string Filter, System.IO.SearchOption searchOption) { // ArrayList will hold all file names ArrayList alFiles = new ArrayList(); // Create an array of filter string string[] MultipleFilters = Filter.Split('|'); // for each filter find mathing file names foreach (string FileFilter in MultipleFilters) { // add found file names to array list alFiles.AddRange(Directory.GetFiles(SourceFolder, FileFilter, searchOption)); } // returns string array of relevant file names return (string[])alFiles.ToArray(typeof(string)); }

更多推荐

多文件扩展名是searchPattern的System.IO.Directory.GetFiles

本文发布于:2023-11-02 17:55:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1553036.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件扩展名   searchPattern   System   GetFiles   Directory

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!