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

问题描述 投票:-3回答:2

使用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#中是否有任何方法可以从目录中获取单个文件?如果不是那么最有效的方式是什么?

c# asp.net asp.net-core
2个回答
2
投票

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

var fileBytes = File.ReadAllBytes(myPath);

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

var fileInfo = new FileInfo(myPath);

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

if (File.Exists(myPath))

0
投票

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

var sqlFiles = Directory.GetFiles($"{AppDomain.CurrentDomain.BaseDirectory}Content\\DbScripts\\","*.sql");
var yourFile = sqlFiles.FirstOrDefault(x=> Path.GetFileName(x) == "Localizations.sql");
© www.soinside.com 2019 - 2024. All rights reserved.