xamarin 如何在Android上读取文件?

6vl6ewon  于 2023-09-28  发布在  Android
关注(0)|答案(2)|浏览(161)

我正在尝试编写我的C# Xamarin应用程序以打开和读取设备上的文件。我习惯在Windows上工作。
因为我不能使用调试器,所以我添加了一些MakeToast()行,这样我就知道代码至少达到了某个点:

try
        {
            var fileName = "jason.txt";
            MakeToast(fileName);
            var testFile = Path.Combine(Xamarin.Essentials.FileSystem.AppDataDirectory, fileName);
            MakeToast(testFile);
            MakeToast("102");
            if (testFile.Length > 0)
            {
                MakeToast("103");
                string content;
                AssetManager assets = this.Assets;
                MakeToast("1033");
                using (StreamReader sr = new StreamReader(assets.Open(testFile)))

                {
                    MakeToast("104");
                    content = sr.ReadToEnd();
                    txtOriginal.Text = content;
                     
                }
                if (content != null) MakeToast("105");
                else MakeToast("null content"); 
            }
            else
                MakeToast("File Length 0");
        }
        catch (Exception ex)
        {
            MakeToast(ex.Message);
        }

代码到达MakeToast(“1033”),但没有进一步。未出现错误(AFAIK)。我没看到“104”或“105”
我只想让用户读取Documents文件夹中的数据,希望其他文件夹也能读取。

l0oc07j2

l0oc07j21#

首先,您可以加载作为资源嵌入的文件。
然后,您可以使用System.IO.StreamReader来读取文件。

var assembly = IntrospectionExtensions.GetTypeInfo(typeof(LoadResourceText)).Assembly;
    Stream stream = assembly.GetManifestResourceStream("WorkingWithFiles.LibTextResource.txt");
    string text = "";
    using (var reader = new System.IO.StreamReader (stream))
    {  
        text = reader.ReadToEnd ();
    }
oyjwcjzk

oyjwcjzk2#

调试器现在可以工作了。手机上有一个开关:等待调试器(duh!),它是开着的。我以前从没注意过。不管怎样,现在它调试正常了。

相关问题