我正在创建一个应用程序,我想从SD卡中读取一个文件,然后使用另一个文件中的信息写入另一个文件。尝试读取文件时,我收到以下错误:System.UnauthorizedAccessException:访问路径' sdcard / android / data / App1.App1 / files /'被拒绝。
阅读功能:
private string ReadFile(string fileName)
{
var path = "sdcard/android/data/App1.App1/files/";
var filePath = Path.Combine(path.ToString(), fileName);
string text = File.ReadAllText(path.ToString());
return text;
}
Android Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="App1.App1" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="16" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:label="Scout" android:icon="@drawable/Icon" android:theme="@style/CustomActionBarTheme"></application>
</manifest>
答案 0 :(得分:0)
我已经解决了这个问题,发现我试图读取文件夹而不是文件本身。当使用filePath int切换输出所有文本函数的变量路径时,错误就消失了。
答案 1 :(得分:-1)
不要忘记添加
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
进入清单。这允许在SD卡上读写。
的更多详情您的模拟器和SD卡也可能存在问题,请阅读this topic