【问题标题】:UWP GetFilesAsyncUWP GetFilesAsync
【发布时间】:2017-11-10 14:49:00
【问题描述】:

我正在尝试获取 LocalState 文件夹中的所有“*.csv”文件。并得到以下错误。

System.ArgumentException: '参数不正确。

这是我的代码:

        StorageFolder appInstalledFolder = ApplicationData.Current.LocalFolder;
        StorageFolder assets = await appInstalledFolder.GetFolderAsync("*.csv");
        var files = await assets.GetFilesAsync();

【问题讨论】:

  • *.csv 不是有效的文件夹名称。
  • 另外,.LocalFolder 不是您的安装文件夹,而是您的本地数据文件夹。

标签: c# uwp


【解决方案1】:

您可以使用文件查询来实现此目的:

//this may be any folder you want.
StorageFolder folder = ApplicationData.Current.LocalFolder;
var options = new QueryOptions();
options.FileTypeFilter.Add(".csv");//this will add .csv files to query options 
options.FolderDepth = FolderDepth.Deep;//optional
StorageFileQueryResult query = folder.CreateFileQueryWithOptions(options);
IReadOnlyList<StorageFile> fileList = await query.GetFilesAsync();

MSDN - StorageFileQueryResult

希望这会有所帮助..

【讨论】:

    【解决方案2】:

    以下代码找到了具有 *.csv 属性的文件。

        IReadOnlyList<StorageFile> x = await ApplicationData.Current.LocalFolder.GetFilesAsync();
            int tempCt = x.Count;
            foreach (StorageFile file in x)
            {
    
                if (file.Name.ToString().Contains("csv"))
                {
                    sb.Append(file.Name + System.Environment.NewLine);
                }
            }
    

    可能不是最好的,但它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-12
      • 2021-03-09
      • 2017-09-03
      相关资源
      最近更新 更多