无法读取我的应用程序目录之外的任何文件或目录
Cannot read any files or directories outside of my application directory
这真是个恼人的问题,它会让我抓狂。我喜欢阅读文件、目录等信息。但是我的应用程序无法在其 运行 所在的文件夹之外找到任何内容。
我正在使用 Visual Studio 2015 并开发 Windows 通用应用程序。
如果我像 "Assets" 和任何其他文件夹一样更改我的应用程序 运行 文件夹内的目录,此例程将非常有效。但是在我的应用程序文件夹之外结果是零,甚至没有任何错误:-(
好的,这是简单的代码,我做错了什么?
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 + " , ";
}
}
快速搜索会给您 :无法像经典桌面应用程序那样访问文件系统。 @Rico Suter 的回答向您解释了您可以访问什么以及如何访问:
- Directories which are declared in the manifest file (e.g. Documents, Pictures, Videos folder)
- Directories and files which the user manually selected with the FileOpenPicker or FolderPicker
- Files from the FutureAccessList or MostRecentlyUsedList
- Files which are opened with a file extension association or via sharing
用户选择文件后,您可以将其添加到 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(token)
访问文件
这真是个恼人的问题,它会让我抓狂。我喜欢阅读文件、目录等信息。但是我的应用程序无法在其 运行 所在的文件夹之外找到任何内容。
我正在使用 Visual Studio 2015 并开发 Windows 通用应用程序。
如果我像 "Assets" 和任何其他文件夹一样更改我的应用程序 运行 文件夹内的目录,此例程将非常有效。但是在我的应用程序文件夹之外结果是零,甚至没有任何错误:-(
好的,这是简单的代码,我做错了什么?
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 + " , ";
}
}
快速搜索会给您
- Directories which are declared in the manifest file (e.g. Documents, Pictures, Videos folder)
- Directories and files which the user manually selected with the FileOpenPicker or FolderPicker
- Files from the FutureAccessList or MostRecentlyUsedList
- Files which are opened with a file extension association or via sharing
用户选择文件后,您可以将其添加到 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(token)
访问文件