進(jìn)入正題:
一開始直接使用GetDirectoryNames("folder")
string[] folderlist; IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();
if(iso.DirectoryExists("folder"))
{
folderlist=iso.GetDirectoryNames("folder");
}
運行后發(fā)現(xiàn)這樣寫并不能獲取到folder的子文件夾,經(jīng)過一番折磨后發(fā)現(xiàn)問題出在GetDirectoryNames的參數(shù),看看GetDirectoryNames的定義:
public string[] GetDirectoryNames();
//
// 摘要:
// 枚舉獨立存儲范圍中與給定模式匹配的目錄。
//
// 參數(shù):
// searchPattern:
// 搜索模式。單字符 ("?") 和多字符 ("*") 通配符都受支持。
//
// 返回結(jié)果:
// 獨立存儲范圍中與 searchPattern 匹配的目錄的相對路徑 System.Array。零長度數(shù)組指定沒有任何匹配的目錄。
GetDirectoryNames的搜索模式。單字符 ("?") 和多字符 ("*") 通配符都受支持。于是問題也就明白了。正確代碼:
string[] folderlist;
IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForApplication();
if(iso.DirectoryExists("folder"))
{
folderlist=iso.GetDirectoryNames(System.IO.Path.Combine("folder", "*"));