我有以下代码来浏览并从android文件系统中选择一个文件
Intent intent = new Intent(Intent.ActionGetContent);
intent.SetType("*/*");
intent.AddCategory(Intent.CategoryOpenable);
StartActivityForResult(Intent.CreateChooser(intent, "Select a file"),0);
现在我想获取所选文件的内容。我读到了,要做到这一点,我必须在
中加入一些代码protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
}
但是这个代码永远不会被调用,并且从给出的示例中我不太了解要放在那里的内容。我想要读取的文件是一个CSV文件,我希望将其数据放入数组中。
答案 0 :(得分:0)
从android文件系统中选择文件时,您可以获取文件的路径,例如:
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (requestCode == 0)
{
var uri = data.Data;
string path = GetActualPathFromFile(uri);
System.Diagnostics.Debug.WriteLine("File path == " + path);
}
}
GetActualPathFromFile(uri)
方法是从Android.Net.Uri
获取实际路径,对于完整代码,您可以参考:How to get actual path from Uri xamarin android
。
获取文件路径后,您可以参考以下内容获取CSV
文件内容:Reading CSV files using C#
。