如何从C#目录中获取特定文件

时间:2018-09-04 12:50:36

标签: c# asp.net asp.net-core

使用Directory.GetFiles()返回目录中的所有文件,如下所示:

var sqlFiles = Directory.GetFiles($"{AppDomain.CurrentDomain.BaseDirectory}Content\\DbScripts\\","*.sql");

实际上,我需要该目录中的特定文件。到目前为止,我已经尝试过但无法正常工作!

var localizationSqlFile = Directory.GetFiles($"{AppDomain.CurrentDomain.BaseDirectory}Content\\DbScripts\\Localizations.sql").FirstOrDefault();

它引发期望:

  

目录名称无效。\ r \ n

C#中是否有任何方法可以从目录中获取单个文件?如果没有,那么最有效的方法是什么?

2 个答案:

答案 0 :(得分:2)

如果要获取某个文件的字节并且已经具有完整路径,则可以使用静态方法File.ReadAllBytes

var fileBytes = File.ReadAllBytes(myPath);

如果要获取文件信息,可以创建一个新的FileInfo对象

var fileInfo = new FileInfo(myPath);

如果只想检查文件是否存在,也可以使用File.Exist方法

if (File.Exists(myPath))

答案 1 :(得分:0)

您可以从返回的sqlFiles中获取文件

var sqlFiles = Directory.GetFiles($"{AppDomain.CurrentDomain.BaseDirectory}Content\\DbScripts\\","*.sql");
var yourFile = sqlFiles.FirstOrDefault(x=> Path.GetFileName(x) == "Localizations.sql");
相关问题