如何在Android平台使用C#打开并读取文本文件
Android(Xamarin.C#)文件选择与读取问题
我目前的代码如下:
Intent intent = new Intent(); intent.SetType("text/plain"); intent.SetAction(Intent.ActionGetContent); StartActivityForResult(Intent.CreateChooser(intent, "Select file"), 1); string str = System.Environment.GetFolderPath(?????);
最后一行无法正常运行,我希望实现让设备用户浏览文件夹并打开文件的功能,该功能在Windows平台的C#开发中很简单,但在Android平台遇到了困难。
2023年1月3日:问题仍未解决。我来自Windows C#开发背景,这类操作原本很简单,但在Android平台却行不通。
我尝试了以下几种方式获取文件夹路径:
var documents = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);var documents = Path.Combine(Xamarin.Essentials.FileSystem.AppDataDirectory);var documents = System.Environment.CurrentDirectorygetExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
通过这些代码我能看到Documents文件夹中的文件列表,可逐个选择,但大多无法打开;仅少数情况下系统会询问打开应用,此时才能正常打开。
为什么FXTextEdit能在Android上读写文件,而我的应用却无法通过代码实现?我使用C#进行编码。
2023年9月6日:
当我使用如下代码时:
Intent intent = new Intent(Intent.ActionGetContent); intent.SetType("text/plain"); intent.AddCategory(Intent.CategoryOpenable); intent.SetAction(Intent.ActionGetContent); intent.PutExtra("android.content.extra.SHOW_ADVANCED", true); intent.PutExtra("android.content.extra.FANCY", true); intent.PutExtra("android.content.extra.SHOW_FILESIZE", true); StartActivityForResult(Intent.CreateChooser(intent, "Select file"), 0);
我现在能访问Documents文件夹并选择文件,但接下来该怎么做?如何打开这个可读取的文本文件?如何读取文件中的数据?或者如何获取文件大小?
感谢解答。
内容的提问来源于stack exchange,提问作者Ron
相关产品推荐
相关产品推荐

