我是这个网站的新人!
我在 Xamarin Android 打开文件时遇到了一些问题。我必须打开一个文件,其中包含食物和相对卡路里的清单,由一些分隔符字符分开。
当我为Xamarin iOS编写此代码时,我对以下代码没有任何问题:
outputText.Text = "The selectable foods are:\n\n";
foreach (string line in File.ReadLines("Cibi.txt"))
{
string[] cibsel = line.Split(delimiterChars);
outputText.Text += cibsel[0] + "\n";
}
当然在iOS中,文件存储在Resources文件夹中。
但是当我开始在Xamarin Android中编写相同的代码时,我开始遇到一些错误。
首先程序变成异常,因为Visaul Studio无法找到文件的路径(存储在Assets文件夹中)。然后我发现Xamarin教程建议使用Streamreader.ReadLine()而不是File.Readlines(),但我得到以下错误:
无法转换类型' char'到'字符串'。
程序必须只读取文件中的食物和卡路里,并仅作为输出返回名称。如何在不遇到这种错误的情况下做到这一点?
提前致谢!
恩里科
答案 0 :(得分:1)
Xamarin docs解释了如何在Android中访问文件。基本上,您需要将文件添加到Assets文件夹并将其构建操作设置为AndroidAsset
。然后在您的代码中,您可以像这样读取文件:
string line;
using (StreamReader sr = new StreamReader (Assets.Open (my_file_name)))
{
do {
line = sr.ReadLine();
string[] cibsel = line.Split(delimiterChars);
outputText.Text += cibsel[0] + "\n";
} while(line != null);
}