- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Directory.GetFiles
有一个采用路径和搜索模式的重载:
var files = Directory.GetFiles(@"c:\path\to\folder", "*.txt");
返回指定文件夹中与模式匹配的文件。是否有内置的 .NET 方法将路径作为搜索模式的一部分?
var files1 = Something.GetFiles(@"c:\path\to\folder\*.txt");
最佳答案
不,没有那样的东西,但我无数次有过这种需求。幸运的是它很容易写:
public string[] SearchFiles(string query)
{
return Directory.GetFiles(
Path.GetDirectoryName(query),
Path.GetFileName(query));
}
一个不太原始的版本可以处理更多的特殊情况(如果你需要的话):
public string[] SearchFiles(string query)
{
if (IsDirectory(query))
return Directory.GetFiles(query, "*.*");
return Directory.GetFiles(
Path.GetDirectoryName(query),
Path.GetFileName(query));
}
private static bool IsDirectory(string path)
{
if (String.IsNullOrWhiteSpaces(path))
return false;
if (path[path.Length - 1] == Path.DirectorySeparatorChar)
return true;
if (path[path.Length - 1] == Path.AltDirectorySeparatorChar)
return true;
if (path.IndexOfAny(Path.GetInvalidPathChars()) != -1)
return false;
return Directory.Exists(path);
}
有了这个新版本(参见 IsDirectory()
代码),您可以像这样使用它:
SearchFiles(@"c:\windows\*.*");
SearchFiles(@"c:\windows\");
SearchFiles(@"c:\windows");
关于c# - 路径作为类似于 Directory.GetFiles 的方法的模式匹配的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32608391/
我写了一些代码来获取目录中的文件。为此,我使用了 Directory.GetFiles 方法。我以前用过它,所以我知道它存在并且有效。 所以我开始使用它(我正在使用 System.IO 命名空间),它
System.IO.Directory.GetFiles() 返回一个string[]。返回值的默认排序顺序是什么?我是按名字假设的,但如果是的话,当前的文化对其影响有多大?您可以将其更改为创建日期之
这个问题在这里已经有了答案: Exact file extension match with GetFiles()? (8 个答案) 关闭 4 年前。 我需要获取指定文件夹的所有子文件夹中的所有 .
我在一个临时文件夹中有几个文件。我可以使用以下脚本将它们加载到 Photoshop 中: var sourceFolder = Folder("C:\\temp"); if (sourceFo
我尝试在 ImageJ 插件中使用 java.awt.FileDialog,但由于某种原因,我收到一个错误,指出 Java 找不到 getFiles 方法: C:\File_Opener3.java:
我需要每天从网络驱动器复制文件。为此,我尝试了以下方法: var dir = new DirectoryInfo(@"Z:\"); var filesA300 = dir.GetFil
使用下面的代码,我能够获取名称中包含 string 的所有文件: DirectoryInfo dirInf = new DirectoryInfo(path); FileInfo[] fInfArra
是否有更有效的方法来从带有日期过滤器的目录中填充文件名列表? 目前,我正在这样做: foreach (FileInfo flInfo in directory.GetFiles()) { Da
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Can you call Directory.GetFiles() with multiple filter
我有这个基本代码 Directory.GetFiles(filepath, "*.OUT") 文件路径中有一个名为 Filename.OUT 的文件。 上面的代码可以很好地找到该文件。 现在,我通过附
我有一个包含 2 个子文件夹的文件夹,每个子文件夹包含大约 1000 个文件。这些文件如下所示: 38485303_SARA_N211_T.ygx 38485303_SARA_N211_B.ygx 3
TDirectory.GetFiles 有一个名为 SearchPattern 的参数。 Embarcadero 的文档显示 The mask used when matching file name
我正在使用 Directory.GetFiles 从特定文件夹中获取文件。默认情况下,该文件夹中的文件将按文件名排序,即。按文件名的字母顺序排列。我想按照文件修改的顺序获取文件。 我无法使用 Dire
我正在尝试实现一种将文件上传到特定本地目录的方法。 我认为: 这是在我的 Controller 操作中: def upload(){ def f
我正在实现带有输入字段和文件上传的简单表单。我浏览了教程:http://grails.org/Simple+Avatar+Uploader和文档:http://grails.org/doc/2.0.x
我在运行 System.IO.Directory.GetFiles("my_directory_name_on_network")并且对大多数 11320 来说都很好目录中的文件,但其中一个在那里两次
我在以下代码段中遇到行为差异 DirectoryInfo di = new DirectoryInfo("c:\"); FileInfo[] textFiles = di.GetFiles("log_
我有以下代码: private string[] FindExistingDocuments() { string supportedImageFormats = "jpg,pdf,doc,d
我想计算文件夹中具有特定扩展名且大小超过 X kb 的文件数。任何人都可以帮忙解决这个问题吗? 我可以做扩展部分: Directory.GetFiles("c:\\temp\\", "*.txt",
我想使用 Directory.GetFiles 从文件夹中读取文件。从msdn网站我发现:对于c,我包括: using System; using System.IO; 对于 C++,我包括: #us
我是一名优秀的程序员,十分优秀!