2011-02-28 21 views
0

我想获取子文件夹在字符串数组中保存的所有文件。获取文件在一个子文件夹中@ Isolated Storage - WP7

所以,我已经试过类似如下:

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

但我得到了在“产品”文件夹中的所有文件。我也尝试用“productname”作为参数。

感谢您的帮助。

回答

5

的子文件夹中的搜索模式需要包括在年底模式相匹配的任何文件,这将使你的代码像下面的“*。*”:

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

哼哼确定,当我写在子文件夹,我应该使用相同的模式? – user569574 2011-02-28 14:14:23

+0

保存时不需要应用“*。*”模式,仅用于查询。只需将路径与子文件夹和文件名连接即可。 – 2011-02-28 14:25:59

+0

它是我做的,但没有工作。 thx很多为我们的帮助 – user569574 2011-02-28 14:33:40

0

有些事情,你可能想尝试。 (这是一种左场回答,对不起)。在我的Dropbox客户端http://sharpdropbox.codeplex.com/)中,我有一系列System.IO.File,System.IO.FileInfo,System.IO.Directory和System.IO.DirectoryInfo的外观。他们工作很好,我测试了他们。

基本上,您添加一个Using或Import for System.IO.IsolatedStorage,然后添加PSFile,PSDirectory,PSFileInfo或PSDirectoryInfo。它使我不必记住所有的细微差别......例如,如果你正在查询一个目录,它知道要添加一个斜杠等等。顺便说一句,“PS”前缀代表“持久存储”,这是IsolatedStorage有时是有的所谓的(从“我”开始他们意味着他们是接口..并没有前缀使事情更令人困惑)。

无论如何,你可以抓住从源代码或我相信最后的版本有这些DLL为他们(这就是所谓的像“IsolatedStorageFacade-WP7”)

相关问题