0
我正在構建一個使用450個音樂樣本的音樂應用程序。我在應用程序包中包含所有歌曲和藝術品。我正在嘗試將它們複製到IsoStorage,並使用文件的名稱填充數據庫表以備後用。Windows Phone 7將安裝文件夾中的數據複製到IsolatedStorage
我這樣做,所以以後我的應用程序可以定期接收更新,但對於第一次使用我不想使用Web服務來下載數據。
private void InitMyStorage()
{
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
if (!isf.DirectoryExists("Audio"))
{
isf.CreateDirectory("Audio");
}
DirectoryInfo di = new DirectoryInfo("Data");// Directory in the application
var ext = new List<String> { ".jpg", ".mp4" };
var files = di.GetFiles().Where(f => ext.Contains(f.Extension)).ToList();
foreach (var file in files)
{
writeFile(file.Name, "Audio\\"+file.Name); // Stream writer method
}
}
問題是,對於模擬器,我可以看到目錄中的文件列表,但在設備上它會引發異常。
文件列表創建之後我打電話的whriteFile法這樣
private void writeFile(string szFrom, string szTo)
{
Stream str = Application.GetResourceStream(new Uri("Data/" + szFrom, UriKind.Relative)).Stream;
if (str != null)
{
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream isfsOutput = isf.OpenFile(szTo, System.IO.FileMode.Create);
if (isfsOutput != null)
{
BinaryReader brInput = new BinaryReader(str);
BinaryWriter bwOutput = new BinaryWriter(isfsOutput);
for (byte[] buffer = brInput.ReadBytes(1024); buffer.Length > 0; buffer = brInput.ReadBytes(1024))
{
bwOutput.Write(buffer);
}
bwOutput.Close();
brInput.Close();
}
isfsOutput.Close();
}
}
如果有人可以幫助請爲什麼在設備上我無法讀取目錄:)?
或者給我一個關於如何實現這個的另一個想法。 ?。