如何访问项目资源文件夹中所有文件的列表?

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());
            }
        }