当我尝试将文件内容保存在 fileStream fs 中时,出现 operation not permitted on IsolatedStorageFileStream
错误。
var appStorage = IsolatedStorageFile.GetUserStoreForApplication();
string[] fileList = appStorage.GetFileNames();
foreach (string fileName in fileList)
{
using (var file = appStorage.OpenFile(fileName, FileMode.Open))
{
if (fileName != "__ApplicationSettings")
{
var fs = new IsolatedStorageFileStream(fileName, FileMode.Open, FileAccess.Read, appStorage);
string abc = fs.ToString();
meTextBlock.Text = abc;
//MemoryStream ms = appStorage.OpenFile(fileName, FileMode.Open, FileAccess.Read);
clientUpload.UploadAsync(SkyDriveFolderId, fileName, fs);
}
}
}
最佳答案
为什么要添加内部 using (var file = appStorage.OpenFile(fileName, FileMode.Open))
?
在我看来,问题在于您正在打开一个流来读取文件,然后打开另一个流,而没有关闭前一个流!
如果您删除该行(似乎没有在那里做任何事情),它应该可以正常工作。
哦,fs.ToString()
只会为您提供类型名称,而不是文件内容;要读取文件,请使用带有 fs
的 StreamReader
。
关于c# - IsolatedStorageFileStream 错误不允许操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200840/