android异步写入文件,异步方法来读取和写入我使用DependencyService在Android设备/ iOS和Windows Phone写入和读取,我Xamarin.forms项目中的XML...

我能够实现在例子中的功能,但我真正想要的是读取和写入到一个XML文件。

我跟着一个通常的C#程序读取和写入xml文件,但得到错误的方法是异步。

我从来没有使用异步等待方法,所以不知道如何去做。

这里是我的尝试:

public async Task SaveTextAsync(string filename, string text)

{

ApplicationData data = new ApplicationData();

ApplicationVersion version = new ApplicationVersion();

version.SoftwareVersion = "test";

data.ApplicationVersion = version;

XmlSerializer writer =

new XmlSerializer(typeof(ApplicationData));

System.IO.FileStream file = System.IO.File.Create(path);

writer.Serialize(file, data);

file.Close();

}

public async Task LoadTextAsync(string filename)

{

var path = CreatePathToFile(filename);

ApplicationData cars = null;

XmlSerializer serializer = new XmlSerializer(typeof(ApplicationData));

StreamReader reader = new StreamReader(path);

cars = (ApplicationData)serializer.Deserialize(reader);

reader.Close();

}

string CreatePathToFile(string filename)

{

var docsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

return Path.Combine(docsPath, filename);

}

编辑

工作读取和写入txt文件的代码是在这里:

public async Task SaveTextAsync (string filename, string text)

{

var path = CreatePathToFile (filename);

using (StreamWriter sw = File.CreateText (path))

await sw.WriteAsync(text);

}

public async Task LoadTextAsync (string filename)

{

var path = CreatePathToFile (filename);

using (StreamReader sr = File.OpenText(path))

return await sr.ReadToEndAsync();

}

2016-03-03

Arti

+0

确切的错误,你会得到? –

+0

第一种方法(SaveTextAsync)不会给出任何错误,但第二种方法(LoadTextAsync)会发生。 '错误“LoadTextAsync(串)”:并非所有的代码路径返回value' –

+0

看起来你有你在哪里读/写流和读/写文件的双端口的应用程序。通常,代码的异步部分将在流中,而不是文件。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值