在我的记录器应用程序中,我需要打开文件进行日志记录。我在应用程序关闭时关闭流。但是,我需要支持读取日志文件的内容。所以当我尝试打开日志文件时遇到IsolatedStorageException- “Isolatestoragefilestream上不允许操作”
这是示例代码:
日志文件创建:
IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication();
file.CreateDirectory("/log");
var stream = file.OpenFile("/log/sample.log",
System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite,
System.IO.FileShare.ReadWrite);
日志条目代码:
byte[] buffer = System.Text.Encoding.UTF8.GetBytes("Hello World");
stream.Write(buffer,0,buffer.Length);
stream.Flush();
我可能需要阅读内容:
IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication();
//here i encounter isolated storage exception
var stream = file.OpenFile("/log/sample.log", System.IO.FileMode.Open,
System.IO.FileAccess.Read,System.IO.FileShare.Read); <br>
byte [] buffer = new byte[1024];<br>
stream.Read(buffer, 0, buffer.Length);
我只是试图在readwrite模式下打开一个示例文件并再次以读取模式再次打开它,但我仍然得到同样的错误。在wp7中,我们不能在文件打开时读取文件吗?(我的意思是......在第一次打开时不关闭流&gt;)。
请告诉我任何建议。
答案 0 :(得分:0)
您需要更改读取操作标志。根据{{3}}文章:
读取允许随后打开文件进行阅读。
在您的情况下,最好使用ReadWrite模式:
ReadWrite 允许随后打开文件进行读写。
答案 1 :(得分:0)
据我说:
在app启动时打开文件读写模式,并使用相同的文件实例读取和写入文件内容。意味着不要单独打开文件进行读写。