如何访问项目资源文件夹中所有文件的列表?
How to access a list of all files in resource folder of my project?
我在项目的资源文件夹中保存了一些 .TXT 文件。我想向用户显示一个列表,其中显示资源文件夹中的所有文件,用户可以 select 他想要的文件。
稍后我将阅读用户 selected 文件并将其显示在屏幕上。
看看 NSBundle
函数 pathsForResourcesOfType:inDirectory:
它会给你一个包的子包中所有文件的路径列表。如果您在主包上调用该方法,您将在主包的子目录中获得特定类型的所有文件的列表。
(我不知道如何使用 xamarin 中的这些函数。)
这会获取资源中所有 txt 文件的 FileInfo:
var fileInfos = NSBundle.GetPathsForResources(".txt", path)
.Select(a => new FileInfo(a));
现在您可以使用简称、全名等:
foreach (var fileInfo in fileInfos)
{
System.Diagnostics.Debug.WriteLine(fileInfo.Name);
using (var streamReader = new StreamReader(new FileStream(fileInfo.FullName, FileMode.Open)))
{
System.Diagnostics.Debug.WriteLine(streamReader.ReadToEnd());
}
}
我在项目的资源文件夹中保存了一些 .TXT 文件。我想向用户显示一个列表,其中显示资源文件夹中的所有文件,用户可以 select 他想要的文件。
稍后我将阅读用户 selected 文件并将其显示在屏幕上。
看看 NSBundle
函数 pathsForResourcesOfType:inDirectory:
它会给你一个包的子包中所有文件的路径列表。如果您在主包上调用该方法,您将在主包的子目录中获得特定类型的所有文件的列表。
(我不知道如何使用 xamarin 中的这些函数。)
这会获取资源中所有 txt 文件的 FileInfo:
var fileInfos = NSBundle.GetPathsForResources(".txt", path)
.Select(a => new FileInfo(a));
现在您可以使用简称、全名等:
foreach (var fileInfo in fileInfos)
{
System.Diagnostics.Debug.WriteLine(fileInfo.Name);
using (var streamReader = new StreamReader(new FileStream(fileInfo.FullName, FileMode.Open)))
{
System.Diagnostics.Debug.WriteLine(streamReader.ReadToEnd());
}
}