C# Windows Phone 8-读取和写入项目中现有的txt文件
嗨,我遇到了一个问题,我创建了一个txt文件,放在应用程序上。我试着从上面读我以前写的内容。使用该代码:C# Windows Phone 8-读取和写入项目中现有的txt文件,c#,xaml,windows-phone-8-sdk,C#,Xaml,Windows Phone 8 Sdk,嗨,我遇到了一个问题,我创建了一个txt文件,放在应用程序上。我试着从上面读我以前写的内容。使用该代码: public async Task WriteDataToFileAsync(string fileName, string content) { byte[] data = Encoding.Unicode.GetBytes(content); var folder = ApplicationData.Current.LocalFolder
public async Task WriteDataToFileAsync(string fileName, string content)
{
byte[] data = Encoding.Unicode.GetBytes(content);
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.CreateFileAsync(fileName,CreationCollisionOption.ReplaceExisting);
using (var s = await file.OpenStreamForWriteAsync())
{
await s.WriteAsync(data, 0, data.Length);
}
}
public async Task<string> ReadFileContentsAsync(string fileName)
{
var folder = ApplicationData.Current.LocalFolder;
try
{
var file = await folder.OpenStreamForReadAsync(fileName);
using (var streamReader = new StreamReader(file))
{
return streamReader.ReadToEnd();
}
}
catch (Exception)
{
MessageBox.Show("Error");
return string.Empty;
}
}
private async void functionWhereNeedReeding()
{
string contents = await this.ReadFileContentsAsync("myimportedfile.txt");
MessageBox.Show(contents);
}
公共异步任务WriteDataofileAsync(字符串文件名、字符串内容)
{
byte[]data=Encoding.Unicode.GetBytes(content);
var folder=ApplicationData.Current.LocalFolder;
var file=await folder.CreateFileAsync(文件名,CreationCollisionOption.ReplaceExisting);
使用(var s=await file.OpenStreamForWriteAsync())
{
等待s.WriteAsync(数据,0,数据.长度);
}
}
公共异步任务ReadFileContentsAsync(字符串文件名)
{
var folder=ApplicationData.Current.LocalFolder;
尝试
{
var file=await folder.OpenStreamForReadAsync(文件名);
使用(var streamReader=newstreamreader(文件))
{
返回streamReader.ReadToEnd();
}
}
捕获(例外)
{
MessageBox.Show(“错误”);
返回字符串。空;
}
}
私有异步void函数whereneedreeding()
{
string contents=wait this.ReadFileContentsAsync(“myimportedfile.txt”);
MessageBox.Show(内容);
}
一直给我错误的信息,我不明白我的错误在哪里。希望你能帮助我。确保内容仍然是空的。我最近在WP 7项目中创建了一个helper函数,用于读取项目中包含的文本文件。您可以尝试使用它,该功能也适用于WP 8项目:
public static class FileHelper
{
public static string ReadFile(string filePath)
{
var ResrouceStream = Application.GetResourceStream(new Uri(filePath, UriKind.Relative));
if (ResrouceStream != null)
{
Stream myFileStream = ResrouceStream.Stream;
if (myFileStream.CanRead)
{
StreamReader myStreamReader = new StreamReader(myFileStream);
return myStreamReader.ReadToEnd();
}
}
return "";
}
}
然后我可以这样使用该函数(在本例中,文件位于Assets文件夹下):
最近,我在wp7项目中创建了一个helper函数,用于读取项目中包含的文本文件。您可以尝试使用它,该功能也适用于WP 8项目:
public static class FileHelper
{
public static string ReadFile(string filePath)
{
var ResrouceStream = Application.GetResourceStream(new Uri(filePath, UriKind.Relative));
if (ResrouceStream != null)
{
Stream myFileStream = ResrouceStream.Stream;
if (myFileStream.CanRead)
{
StreamReader myStreamReader = new StreamReader(myFileStream);
return myStreamReader.ReadToEnd();
}
}
return "";
}
}
然后我可以这样使用该函数(在本例中,文件位于Assets文件夹下):
真是太完美了!终于成功了!但是请原谅,为了写作(并用一个新的文本替换我放的文本,我必须创建一个像这样的公共函数。)(我没有放我写的写作函数,但我现在就做了。真的很完美!最终它起作用了!但是请原谅,为了写作(并用一个新的文本替换我输入的文本,我必须创建一个像这样的公共函数,rigth?(我没有输入我编写的书写函数,但我现在这样做了。)。