无法访问 Windows phone 应用程序上的 LocalFolder 文件(UnauthorizedAccessException)
Cannot access LocalFolder files on Windows phone app (UnauthorizedAccessException)
我正在尝试让应用程序在 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。任何人都可以阐明原因吗?
我猜你不是 disposing the StreamWriter
. See the example on MSDN。
using( var writer = new StreamWriter(await file.OpenStreamForWriteAsync()))
{
writer.WriteLine("Hello World");
writer.WriteLine("Goodbye world");
}
这就是你无法读取文件的原因,因为它已经被 SreamWriter 占用了。
使用从 IDisposable 继承的对象时始终使用 'using' 语句。
您正在尝试写入一个已打开的文件,这会导致出现 UnauthoritedException。
尝试使用 using.Check 中的代码块解决这个问题,以找到有关 StreamWriter 的更多信息:
how to use StreamWriter class properly?
我正在尝试让应用程序在 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。任何人都可以阐明原因吗?
我猜你不是 disposing the StreamWriter
. See the example on MSDN。
using( var writer = new StreamWriter(await file.OpenStreamForWriteAsync()))
{
writer.WriteLine("Hello World");
writer.WriteLine("Goodbye world");
}
这就是你无法读取文件的原因,因为它已经被 SreamWriter 占用了。
使用从 IDisposable 继承的对象时始终使用 'using' 语句。
您正在尝试写入一个已打开的文件,这会导致出现 UnauthoritedException。
尝试使用 using.Check 中的代码块解决这个问题,以找到有关 StreamWriter 的更多信息:
how to use StreamWriter class properly?