如何获得使用安卓意图选择的文件内容



>我有以下代码来浏览并从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 文件 abd,我想将其数据放在数组中。

当您从 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获取实际路径,对于完整的代码,可以参考: 如何从 Uri 获取实际路径 xamarin android.

获取

文件路径后,您可以参考以下内容获取CSV文件内容:使用 C# 读取 CSV 文件.

最新更新