android 下创建不了文件

demo大师粉丝 2019-03-28 08:38:42
整个过程:

1、<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>


2、代码实现
File file = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis() + ".txt");//
if(!file.exists()) {
try {
file.createNewFile();
}catch (Exception e){
System.out.println("--------> 创建新文件发生异常:" + e.toString());
}
System.out.println("--------> 创建新文件:" + file.getAbsolutePath());
}

3、编译环境配置

compileSdkVersion 26
defaultConfig {
applicationId "com.example.admin.myapplication"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

------------------------------------
调试模式,在真机(魅族手机,android7.1)运行结果:
使用这个来创建文件,没见报错,但创建不了文件(运行后在对应目录下,没有要创建的文件)。

这个是什么问题?


补充:
我还在应用权限里面,赋予了写权限了,但还是不行。


...全文
259 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
demo大师粉丝 2019-03-31
  • 打赏
  • 举报
回复
谢谢大家的帮忙,谢谢
demo大师粉丝 2019-03-28
  • 打赏
  • 举报
回复
引用 7 楼 zhang106209 的回复:
这不是生成了文件吗?
,,是生成文件,,但最后,不是显示的这个路径,,而是直接根目录,,原来是一直行的,,,我又多了一个疑问:为什么,file得到的路径,,上面没有这个文件,却放在了 根路径上了? 为什么不一样?
demo大师粉丝 2019-03-28
  • 打赏
  • 举报
回复
我搞定了,,谢谢 zhang106209
zhang106209 2019-03-28
  • 打赏
  • 举报
回复

这不是生成了文件吗?
demo大师粉丝 2019-03-28
  • 打赏
  • 举报
回复
引用 1 楼 zhang106209 的回复:
你先DeBug一下看看,可能是没有获取权限,android6.0后需要动态获取权限
我加入了动态权限了,但还是没有生成文件,,,
demo大师粉丝 2019-03-28
  • 打赏
  • 举报
回复
点击按钮后,创建一个txt文件,没有走异常的打印语句,只走正常流程的打印语句: --------------------------------------------------- I/System.out: --------> 创建新文件:/storage/emulated/0/1553740096935.txt V/ActivityThread: SVC-Creating service CreateServiceData{token=android.os.BinderProxy@8da7554 className=com.example.admin.myapplication.PhoneService packageName=com.example.admin.myapplication intent=null} D/OpenGLRenderer: CacheTexture 8 upload: x, y, width height = 0, 53, 99, 361 I/art: Do partial code cache collection, code=45KB, data=52KB I/art: After code cache collection, code=45KB, data=52KB Increasing code cache capacity to 256KB I/art: Do full code cache collection, code=70KB, data=89KB Starting a blocking GC JitCodeCache I/art: After code cache collection, code=36KB, data=49KB
demo大师粉丝 2019-03-28
  • 打赏
  • 举报
回复
感谢你的回答啊,我把debu的消息贴出来,麻烦你看看,先谢过啦。 ---------------------------------------------------------------------------------- D/EditText: drawableStateChanged, mzIsCursorVisible():true D/mali_winsys: EGLint new_window_surface(egl_winsys_display*, void*, EGLSurface, EGLConfig, egl_winsys_surface**, egl_color_buffer_format*, EGLBoolean) returns 0x3000 D/EditText: drawableStateChanged, mzIsCursorVisible():true D/OpenGLRenderer: CacheTexture 8 upload: x, y, width height = 0, 0, 270, 363 ProgramCache.generateProgram: 1099511627784 I/art: Do partial code cache collection, code=24KB, data=28KB After code cache collection, code=24KB, data=28KB Increasing code cache capacity to 128KB D/OpenGLRenderer: ProgramCache.generateProgram: 1 D/OpenGLRenderer: ProgramCache.generateProgram: 34359738371 D/OpenGLRenderer: ProgramCache.generateProgram: 0 I/System.out: 开启监听 I/System.out: --------> 绑定服务 I/System.out: --------> 创建新文件:/storage/emulated/0/1553740096935.txt V/ActivityThread: SVC-Creating service CreateServiceData{token=android.os.BinderProxy@8da7554 className=com.example.admin.myapplication.PhoneService packageName=com.example.admin.myapplication intent=null} D/OpenGLRenderer: CacheTexture 8 upload: x, y, width height = 0, 53, 99, 361 I/art: Do partial code cache collection, code=45KB, data=52KB I/art: After code cache collection, code=45KB, data=52KB Increasing code cache capacity to 256KB I/art: Do full code cache collection, code=70KB, data=89KB Starting a blocking GC JitCodeCache I/art: After code cache collection, code=36KB, data=49KB
zhang106209 2019-03-28
  • 打赏
  • 举报
回复
你clear一下工程,在运行试试
demo大师粉丝 2019-03-28
  • 打赏
  • 举报
回复
引用 1 楼 zhang106209 的回复:
你先DeBug一下看看,可能是没有获取权限,android6.0后需要动态获取权限
debug的时候,没有任何异常,,,如果是没有权限,应该会报异常的吧?
zhang106209 2019-03-28
  • 打赏
  • 举报
回复
你先DeBug一下看看,可能是没有获取权限,android6.0后需要动态获取权限
韩曙亮 2019-03-28
  • 打赏
  • 举报
回复
/storage/emulated/0 这个路径是 SD 卡的根路径, 显示的是 SD 卡根目录, 里面有 下载 图片 之类的 文件夹; 在该路径下 创建的 文件 就是 SD 卡 根目录创建 , 没毛病啊
jzp12 2019-03-28
  • 打赏
  • 举报
回复
因为/storage/emulated/0是一个模拟路径,非真实路径吧

80,351

社区成员

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

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