我需要在我的Xamarin.Forms PCL项目中读取文本文件(嵌入式资源)。 在working with files xamarin文档中,它建议使用以下代码:
var assembly = typeof(LoadResourceText).GetTypeInfo().Assembly;
Stream stream = assembly.GetManifestResourceStream("WorkingWithFiles.PCLTextResource.txt");
string text = "";
using (var reader = new System.IO.StreamReader (stream)) {
text = reader.ReadToEnd ();
}
问题是我找不到这个LoadResourceText是什么。我发现它只是我的装配中的一种类型。但我真的不明白这意味着什么。
我无法在任何地方找到我需要做的明确的实际解释。
任何帮助?
由于
答案 0 :(得分:8)
要阅读现有文件,您需要将LoadResourceText
替换为PCL项目中的类。它用于获取包含嵌入文件的程序集。您还需要将WorkingWithFiles
替换为PCL项目的命名空间。
您需要为要编译的代码添加using System.Reflection;
。
如果您想在运行时创建文件并稍后阅读,可以使用PCLStorage Library,如下所示:
public async Task PCLStorageSample()
{
IFolder rootFolder = FileSystem.Current.LocalStorage;
IFolder folder = await rootFolder.CreateFolderAsync("MySubFolder",
CreationCollisionOption.OpenIfExists);
IFile file = await folder.CreateFileAsync("answer.txt",
CreationCollisionOption.ReplaceExisting);
await file.WriteAllTextAsync("42");
}