开发者

getting the file in a sub-folder @ Isolated Storage - WP7

开发者 https://www.devze.com 2023-02-13 17:36 出处:网络
I would like to get all the files that a sub-folder holds in a string array. So, I have tried something like the following:

I would like to get all the files that a sub-folder holds in a string array.

So, I have tried something like the following:

var IOstore = IsolatedStorageFile.GetUserStoreForApplication();
string searchpath = System.IO.Path.Combine("product", ProductName);
string filesInSubDirs[] = I开发者_运维百科Ostore.GetFileNames(searchpath);

But I got all the files in the "product" folder. I have also tried with "productname" only as the parameter.

Thanks for your help.


The search pattern for a sub-folder needs to include "*.*" at the end to pattern match any file, which would make your code something like the following:

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


Something you might want to try. (this is sort of a left field answer, sorry). In my dropbox client http://sharpdropbox.codeplex.com/) I have a set of facades for System.IO.File, System.IO.FileInfo, System.IO.Directory, and System.IO.DirectoryInfo. They work pretty good and I have tested them.

Basically, you add a Using or Import for System.IO.IsolatedStorage and then PSFile, PSDirectory, PSFileInfo, or PSDirectoryInfo. It's saved me from having to remember all the nuances... for instance if you are querying a directory, it knows to add a slash, etc. BTW, the "PS" prefix stands for "Persisted Storage" which is what IsolatedStorage is sometimes called (starting them with an "I" implies they are interfaces.. and having no prefix makes things even more confusing).

Anyway, you can grab the code from source or I believe the last release had the DLLs for them (it's called something like "IsolatedStorageFacade-WP7")

0

精彩评论

暂无评论...
验证码 换一张
取 消