无法访问 Windows Phone 应用程序上的 LocalFolder 文件(UnauthorizedAccessE
本文关键字:LocalFolder 文件 UnauthorizedAccessE 程序上 应用程序 访问 Windows Phone 应用 | 更新日期: 2023-09-27 17:56:03
我正在尝试让应用程序在Windows Phone 8中写入(然后读取)一个简单的文本文件。我的应用有三个控件:创建文件按钮、显示文件按钮和应显示内容的文本框。
我在代码中设置了以下事件:
private async void btnCreateFile_Click(object sender, RoutedEventArgs e)
{
await ApplicationData.Current.LocalFolder.CreateFileAsync("myFile.txt");
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("myFile.txt");
StreamWriter writer = new StreamWriter(await file.OpenStreamForWriteAsync());
writer.WriteLine("Hello World");
writer.WriteLine("Goodbye world");
}
private async void btnShowFile_Click(object sender, RoutedEventArgs e)
{
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("myFile.txt");
StreamReader reader = new StreamReader(await file.OpenStreamForReadAsync());
string text = reader.ReadToEnd();
text1.Text = text;
}
}
应用程序在创建 StreamReader 时引发 UnauthorizedAccessException。谁能说明为什么?
我想你不是在处理StreamWriter
.请参阅 MSDN 上的示例。
using( var writer = new StreamWriter(await file.OpenStreamForWriteAsync()))
{
writer.WriteLine("Hello World");
writer.WriteLine("Goodbye world");
}
这就是为什么您无法读取该文件的原因,因为它已经被SreamWriter获取。
使用从 IDisposable 继承的对象时,始终使用 'using' 语句。
您正在尝试写入已打开的文件,这将为您提供 UnauthoritedException。
尝试在 using 中使用代码块。查看此问题以了解有关StreamWriter的更多信息:
如何正确使用流编写器类?