![](/img/trans.png)
[英]Android open failed: EACCES (Permission denied) when writing file in data/data/package/files
[英]Android Permission Denied when Writing files
我說內部存儲不是要保存安全數據,而是嘗試保存一些圖像或公共文件,而我正在嘗試一切嘗試,但它給我錯誤,我不知道該在內部存儲中創建一個文件嗎?為什么D:
碼:
File file = new File(Environment.getDataDirectory() + File.separator
+ "test1111111.txt");
Log.e("ERROR", Environment.getDataDirectory() + File.separator
+ "testfile.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
byte[] data1 = {
1, 1, 0, 0
};
// write the bytes in file
if (file.exists())
{
OutputStream fo = null;
try {
fo = new FileOutputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
fo.write(data1);
} catch (IOException e) {
e.printStackTrace();
}
try {
fo.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("file created: " + file);
}
錯誤:
04-24 03:41:22.704 7797-7797/com.test.test W/dalvikvm﹕ VFY: unable to resolve virtual method 357: Landroid/content/res/Resources;.getDrawableForDensity (IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
04-24 03:41:22.744 7797-7797/com.test.test E/ERROR﹕ /data/testfile.txt
04-24 03:41:22.744 7797-7797/com.test.test W/System.err﹕ java.io.IOException: open failed: EACCES (Permission denied)
04-24 03:41:22.744 7797-7797/com.test.test W/System.err﹕ at java.io.File.createNewFile(File.java:940)
表現:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.test" >
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
在仿真器中工作正常,但是當我嘗試使用手機時,卻給我錯誤。 仿真器:
設備:它給我錯誤。
已編輯
數據目錄是系統的目錄,您永遠不能擁有在其中寫入的權限。
嘗試例如:
File file = new File(Environment.getExternalStorageDirectory() + File.separator + "testfile.txt");
您無權在/ data文件夾下寫入文件。 也許您可以嘗試使用SD卡或Android內部存儲。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.