在Xamarin Android中打开一个文件

时间:2014-08-10 17:32:17

标签: 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(delimiterChars);
    outputText.Text += cibsel[0] + "\n";
}

当然在iOS中,文件存储在Resources文件夹中。

但是当我开始在Xamarin Android中编写相同的代码时,我开始遇到一些错误。

首先程序变成异常,因为Visaul Studio无法找到文件的路径(存储在Assets文件夹中)。然后我发现Xamarin教程建议使用Streamreader.ReadLine()而不是File.Readlines(),但我得到以下错误:

  

无法转换类型' char'到'字符串'。

程序必须只读取文件中的食物和卡路里,并仅作为输出返回名称。如何在不遇到这种错误的情况下做到这一点?

提前致谢!

恩里科

1 个答案:

答案 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);
}