由于c#中的拒绝访问问题,无法读取文件

本文关键字:读取 文件 问题 拒绝访问 由于 | 更新日期: 2023-09-27 18:13:21

我试图通过c#读取/mnt/sdcard/位置的平板电脑中存在的.txt文件。每当我执行程序时,我看到下面的错误消息

进入/mnt/sdcard/路径。Android_secure被拒绝

在代码活动中添加了权限,如下面的代码所示,但我仍然无法访问文件。

检查了n个线程,但没有一个是清楚的。

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using System.Net.Sockets;
using System.Net;
using System.IO;
namespace Server
{
         [Activity (Label = "Server", MainLauncher = true, Permission = "android.permission.WRITE_EXTERNAL_STORAGE")]
    public class Activity1 : Activity
            {
        int count = 1;
        protected override void OnCreate (Bundle bundle)
        {
            base.OnCreate (bundle);
            // Set our view from the "main" layout resource
            SetContentView (Resource.Layout.Main);
            Button button = FindViewById<Button> (Resource.Id.myButton);
            button.Click += delegate {
            button.Text = string.Format ("{0} clicks!", count++);};
    string path = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
string[] filePaths = Directory.GetFiles(path,"*.txt",SearchOption.AllDirectories); //In this line I see Access denied error in run time.
        }
    }
}

如果有人遇到这个问题并找到解决方案,请分享…

谢谢迪帕克

由于c#中的拒绝访问问题,无法读取文件

使用以下代码行,我将读取Android平板电脑上的。txt文件

string path = path . combine (Android.OS.Environment.ExternalStorageDirectory.)路径,"IVIFile.txt");

        using (FileStream fsSource  = new FileStream(path, FileMode.Open, FileAccess.Read))
        {
            byte[] bytes = new byte[fsSource.Length];
            int numBytesToRead = (int)fsSource.Length;

            while (numBytesToRead > 0)
            {
                byte[] b = new byte[numBytesToRead];
                UTF8Encoding temp = new UTF8Encoding(true);
                while (fsSource.Read(b,0,b.Length) > 0)
                {
                    Console.WriteLine(temp.GetString(b));
                }
            }
        }