android 中创建文件 Permission denied

好大一地嗯 2010-09-21 09:21:13
代码:
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


请问我需要配置什么吗??
...全文
13717 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
loomz 2012-06-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

也有可能创建 AVD的时候没有制定SDCARD SIZE
[/Quote]

应该使劲加分
zsc58910 2011-12-02
  • 打赏
  • 举报
回复 3
权限问题美名其曰是为了安全,最后的实质变成了google挖坑不让走车,我们填坑去走车,安全不一定上去了,浪费在无聊的地方的时间倒是成倍增加。你的代码倒是free了,用起来一点都不free,麻烦学学微软的接口,不要搞一大堆servers还以为很coooooool,最后,我掏银子买了硬件,你却告诉我权限不够不能用,谁又给你权限去限制别人?
summer小橙子 2011-11-28
  • 打赏
  • 举报
回复
真机外插SD卡的读写权限不仅仅是在manifest里面定义了就行

他貌似要求你在挂载sd的路径下先新建文件夹,然后在文件夹中新建文件才好

我的问题就是那么解决的

还有记得用getExternalStorageDirectory()的时候,它得到的路径没有自动加上'/',因此在新建文件夹的时候,记得给string中加入'/',文件名同理
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 a394318511 的回复:]
/mnt/sdcard=sdcard
/mnt/sdcard/mp3/b.mp3
那我这个文件可以创建吗?
[/Quote]
请问哥们,最后这个问题是怎么解决的啊
a394318511 2011-08-07
  • 打赏
  • 举报
回复
/mnt/sdcard=sdcard
/mnt/sdcard/mp3/b.mp3
那我这个文件可以创建吗?
xiaozhi819 2011-04-19
  • 打赏
  • 举报
回复 1
这是不增加权限就能解决的问题

Environment.getDataDirectory()
你想在/data文件夹下一级目录进行操作是不被允许的。

能操作文件夹只有两个地方:
1.sdcard
2./data/<package_name>/files/
javaDeveloper2010 2011-04-01
  • 打赏
  • 举报
回复
lz怎么解决的啊,我也遇到次问题了,求解啊,楼主,上面的方法都不行,还请大虾们帮忙啊,崩溃了。
pw79461 2011-03-03
  • 打赏
  • 举报
回复
也有可能创建 AVD的时候没有制定SDCARD SIZE
远方夕阳 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sodino 的回复:]

The <package_name> is your Java-style package name, such as "com.example.android.app".


files就是你所要创建的文件名
[/Quote]

为什么我按你那样做了 还是不行呢
File file = new File(Environment.getDataDirectory() + "/com.android.weather.util/files/weather.xml");
if (!file.exists()) {
file.createNewFile();
}
报java.io.IOException: No such file or directory
wu55uw 2010-10-13
  • 打赏
  • 举报
回复
File file = new File("/data/data/game.cn/wu.laba");
if(!file.exists())
try{
file.createNewFile();
Log.i("","Create wu.lala success");
}
catch (IOException e){
Log.i("","Create wu.lala fail");
}

我的包名:game.cn
文件wu.laba
创建成功,应该是在 /data/data/包名/ 下面,楼上的少了一级data
Sodino 2010-09-21
  • 打赏
  • 举报
回复
The <package_name> is your Java-style package name, such as "com.example.android.app".


files就是你所要创建的文件名
好大一地嗯 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sodino 的回复:]
这是不增加权限就能解决的问题

Environment.getDataDirectory()
你想在/data文件夹下一级目录进行操作是不被允许的。

能操作文件夹只有两个地方:
1.sdcard
2./data/<package_name>/files/

详见api doc:
docs/guide/topics/data/data-storage.html#filesExt……
[/Quote]


package_name是我的包名吗???java文件的包名吧?
好大一地嗯 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 seu_why 的回复:]
AndroidManifest.xml中加权限

XML code
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILES……
[/Quote]

好像并不管用,是不是手机上的文件夹无法创建?
Sodino 2010-09-21
  • 打赏
  • 举报
回复
这是不增加权限就能解决的问题

Environment.getDataDirectory()
你想在/data文件夹下一级目录进行操作是不被允许的。

能操作文件夹只有两个地方:
1.sdcard
2./data/<package_name>/files/

详见api doc:
docs/guide/topics/data/data-storage.html#filesExternal
dinjay 2010-09-21
  • 打赏
  • 举报
回复
LS正解,添加权限即可
Seu_why 2010-09-21
  • 打赏
  • 举报
回复

AndroidManifest.xml中加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>


声明:这些内容是逐步总结过来的,所以可能有当时的理解不正确,只希望大家能做个参考: 内容如下: 目录 一句话总结汇总: Copy project into workspace 和add project into work set 的含义 数字签名总结 JNI 基础及注意: Ndk的使用方法: Ant 与 android update project 命令行只有在非根盘符上才能运行 android Launcher Android 运行环境搭建 Android:name什么时候加”.” Activity class {package/class} does not exist 问题的解决 Activity 两次调用OnCreate的原因 ByteBuffer 和 FloatBuffer 的直接分配和非直接分配 Application的使用小总结 “call to OpenGL ES API with no current context (logged once per thread” 问题的解决 2013年9月7日19:15:33:我的平板分辨率很高可是运行public void onSurfaceChanged(GL10 gl, int width, int height)函数时,分辨率只有 455*320,这是为什么? 关于android添加第三方字体的方法 android-apt-compiler: [t1] res\layout\LinearLayout.xml: Invalid file name: must contain only [a-z0-9_.] Buttons in button bars should be borderless android 支持的距离单位 使用adb shell命令进入手机后使用ls命令提示: opendir failed permission denied 使用adb pull 命令提示permission denied Button 的setLayoutParams使用注意: layout文件夹和raw文件下面的文件读取 Matrix方法的set方法和post方法 android 调用drawBitmap时理解dip(屏幕密度)和px(像素)的区别 SQLiteDatabase 的setTransactionSuccessful作用 终于弄明白 paddingleft margineleft layout_gravity 和gravity之间的区别 自定义控件时要注意的问题。 obtainMessage 的作用: FrameLayout 需要注意的地方: EditText 禁止弹出按键盘: 获取控件屏幕位置和窗口位置: 为什么MyAdapater的getView没有被调用 XmlSerializer使用总结: ListView的Item自定义点击后的背景色的方法。 drawable各个分辨率 fragment 的几种创建方式 fragment第一次使用遇到的问题 activity变身对话框 onMeasure 的AT_MOST EXACTLY UNSPECIFIED MotionEvent的触发记录 对于Drawable 的 getIntrinsicHeight 和getIntrinsicWidth的理解 IntentService 使用总结: 文件读写总结: AES 解密失败: XML的include标签加入后崩溃 Button的background标签使图像拉伸的问题 SharedPreferences 的getString 的陷阱 TextView 的EMS和Maxlength

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧