关于网友提出的“android 中创建文件 Permission denied”问题疑问,本网通过在网上对“android 中创建文件 Permission denied”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:android 中创建文件 Permission denied描述:
代码:
File ne = new File(Environment.getDataDirectory()+"/new.zip");
if(!ne.exists())
{
ne.createNewFile();
}
报错:
09-21 01:10:03.492: WARN/System.err(372): java.io.IOException: Permission denied
09-21 01:10:03.492: WARN/System.err(372): at java.io.File.createNewFileImpl(Native Method)
09-21 01:10:03.501: WARN/System.err(372): at java.io.File.createNewFile(File.java:1160)
09-21 01:10:03.501: WARN/System.err(372): at cn.com.supersunshine.zip.ZipfileActivity$1.onItemClick(ZipfileActivity.java:104)
09-21 01:10:03.511: WARN/System.err(372): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
09-21 01:10:03.521: WARN/System.err(372): at android.widget.ListView.performItemClick(ListView.java:3382)
09-21 01:10:03.521: WARN/System.err(372): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
09-21 01:10:03.531: WARN/System.err(372): at android.os.Handler.handleCallback(Handler.java:587)
09-21 01:10:03.531: WARN/System.err(372): at android.os.Handler.dispatchMessage(Handler.java:92)
09-21 01:10:03.542: WARN/System.err(372): at android.os.Looper.loop(Looper.java:123)
09-21 01:10:03.542: WARN/System.err(372): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-21 01:10:03.552: WARN/System.err(372): at java.lang.reflect.Method.invokeNative(Native Method)
09-21 01:10:03.562: WARN/System.err(372): at java.lang.reflect.Method.invoke(Method.java:521)
09-21 01:10:03.572: WARN/System.err(372): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-21 01:10:03.572: WARN/System.err(372): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-21 01:10:03.572: WARN/System.err(372): at dalvik.system.NativeStart.main(Native Method)
09-21 01:10:03.581: ERROR/Exception(372): Permission denied
请问我需要配置什么吗??
解决方案1:
这是不增加权限就能解决的问题
Environment.getDataDirectory()
你想在/data文件夹下一级目录进行操作是不被允许的。
能操作文件夹只有两个地方:
1.sdcard
2./data/
详见api doc:
docs/guide/topics/data/data-storage.html#filesExternal
AndroidManifest.xml中加权限
解决方案3:
LS正解,添加权限即可