将文件放在子文件夹@ Isolated Storage - WP7中

时间:2011-02-28 14:00:07

标签: arrays string windows-phone-7 directory isolatedstorage

我想获取子文件夹在字符串数组中保存的所有文件。

所以,我尝试过以下内容:

var IOstore = IsolatedStorageFile.GetUserStoreForApplication();
string searchpath = System.IO.Path.Combine("product", ProductName);
string filesInSubDirs[] = IOstore.GetFileNames(searchpath);

但是我收到了“product”文件夹中的所有文件。我还尝试将“productname”作为参数。

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

子文件夹的搜索模式需要在末尾包含“*。*”以匹配任何文件,这将使您的代码如下所示:

var IOstore = IsolatedStorageFile.GetUserStoreForApplication();
string searchpath = System.IO.Path.Combine("product", ProductName);
searchpath = string.Format("{0}\\*.*", searchpath);
string filesInSubDirs[] = IOstore.GetFileNames(searchpath);

答案 1 :(得分:0)

你可能想尝试的东西。 (这是一个左边的答案,对不起)。在我的Dropbox客户端http://sharpdropbox.codeplex.com/)中,我有一组用于System.IO.File,System.IO.FileInfo,System.IO.Directory和System.IO.DirectoryInfo的外观。它们工作得很好,我测试过它们。

基本上,您为System.IO.IsolatedStorage添加使用或导入,然后为PSFile,PSDirectory,PSFileInfo或PSDirectoryInfo添加。它让我不必记住所有的细微差别...例如,如果你查询一个目录,它就知道要添加一个斜线等。顺便说一句,“PS”前缀代表“持久存储”,这就是IsolatedStorage有时候调用(以“I”开头意味着它们是接口..并且没有前缀会使事情变得更加混乱)。

无论如何,你可以从源代码中获取代码,或者我相信最后一个版本有他们的DLL(它被称为“IsolatedStorageFacade-WP7”)