由于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.
}
}
}
如果有人遇到这个问题并找到解决方案,请分享…
谢谢迪帕克
使用以下代码行,我将读取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));
}
}
}