在Xamarin Android中打开一个文件
我是这个网站的新手 我在Xamarin Android打开文件时遇到了一些问题。我必须打开一个文件,其中包含食物和相对卡路里的列表,由一些分隔符字符分割 当我为Xamarin iOS编写此代码时,我对以下代码没有任何问题:在Xamarin Android中打开一个文件,android,xamarin,Android,Xamarin,我是这个网站的新手 我在Xamarin Android打开文件时遇到了一些问题。我必须打开一个文件,其中包含食物和相对卡路里的列表,由一些分隔符字符分割 当我为Xamarin iOS编写此代码时,我对以下代码没有任何问题: outputText.Text = "The selectable foods are:\n\n"; foreach (string line in File.ReadLines("Cibi.txt")) { string[] cibsel = line.Split(
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文件夹中
但当我开始在XamarinAndroid中编写相同的代码时,我开始遇到一些错误
首先由于Visaul Studio找不到文件路径(存储在Assets文件夹中),程序会发生异常。然后,我在Xamarin教程中发现建议使用Streamreader.ReadLine()而不是File.Readlines(),但我得到以下错误:
无法将类型“char”转换为“string”
程序必须仅从文件中读取食物和卡路里,并仅返回名称作为输出。我怎样才能做到这一点而不经历那种错误
提前谢谢
EnricoXamarin解释了如何在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);
}
谢谢你,杰森!现在我解决了读取文件的问题,程序运行良好。但是现在我在写同一个文件时遇到了类似的问题,因为我的程序还允许更新食物文件。我使用了stremwriter,当然使用了Assets.Open函数,但是当我调试并尝试更新文件时,我收到以下异常:System.ArgumentException:无法写入流。我不明白我怎么能解决它。。。非常感谢你的帮助!