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