无法读取应用程序目录之外的任何文件或目录

时间:2016-03-08 10:59:06

标签: c# directory getfiles

这真是令人烦恼的问题,它会让我发疯。我喜欢读取文件,目录等信息。但我的应用程序在其运行的文件夹外找不到任何东西。

我正在使用Visual Studio 2015并开发Windows Universal应用程序。

如果我更改我的应用程序运行的文件夹中的目录,如“资产”和任何其他文件夹,这个例程非常有效。但是我的app文件夹结果之外的结果为零,甚至没有任何错误: - (

好的,这是简单的代码,我做错了什么?

private void GetThem_Click(object sender, RoutedEventArgs e)
{
    string myDir = @"c:\mydir\";
    string[] files;
    files = Directory.GetFiles(myDir,"*.jpg");

    foreach (string stuff in files)
    {
        RESULT.Text = RESULT.Text + stuff + " , ";
    }
}

1 个答案:

答案 0 :(得分:-1)

快速搜索会给你answer:无法像经典桌面应用那样访问文件系统。 @Rico Suter的答案向您解释了您可以访问的内容以及如何:

  
      
  • 在清单文件中声明的目录(例如文档,图片,视频文件夹)
  •   
  • 用户使用FileOpenPicker或FolderPicker手动选择的目录和文件
  •   
  • 来自FutureAccessList或MostRecentlyUsedList的文件
  •   
  • 使用文件扩展名关联或通过共享打开的文件
  •   

用户选择文件后,您可以将其添加到MostRecentlyUsedList或FutureAccessList,以便稍后使用MSDN中的此片段(C#)再次使用它:

StorageFile file = await savePicker.PickSaveFileAsync();
if (file != null)
{
   // Add to MRU with metadata (For example, a string that represents the date)
   string mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(file, "20120716");

   // Add to FA without metadata
   string faToken = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);  
}

然后存储检索到的令牌,因为您需要使用GetFileAsync(令牌)来访问该文件

相关问题