使用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#中是否有任何方法可以从目录中获取单个文件?如果不是那么最有效的方式是什么?
如果要获取某个文件的字节并且已经有完整路径,可以使用静态方法File.ReadAllBytes
var fileBytes = File.ReadAllBytes(myPath);
如果要获取文件信息,可以创建新的FileInfo对象
var fileInfo = new FileInfo(myPath);
如果您只想检查,如果文件存在,您还可以使用File.Exist方法
if (File.Exists(myPath))
您可以从返回的sqlFiles中获取该文件
var sqlFiles = Directory.GetFiles($"{AppDomain.CurrentDomain.BaseDirectory}Content\\DbScripts\\","*.sql");
var yourFile = sqlFiles.FirstOrDefault(x=> Path.GetFileName(x) == "Localizations.sql");