Android中没有插入SD情况下的文件写入和读取方法
更新时间:2012年11月09日 11:26:28 作者:
在Android开发时会遇到如下一种场合希望应用下载到当前应用的根目录下,而非SD卡中然后可以随时被该应用或其他应用访问这个文件,即具有被全局读取的权限
在Android开发时会遇到如下一种场合
希望应用下载到当前应用的根目录下,而非SD卡中
然后可以随时被该应用或其他应用访问这个文件,即具有被全局读取的权限
此时可以利用上下文的本地文件输出流进行文件写入
注意要为文件赋予可写可读的权限,否则当读取该文件时会报错
FileOutputStream fos = context.openFileOutput(saveFileName,
Context.MODE_WORLD_WRITEABLE
| Context.MODE_WORLD_READABLE);
然后读取文件可以使用context.openFileInput获取到输入流
也可以使用 context.getFileStreamPath(name)来获得其File实例,比如要下载某个Apk到本地,并打开它时,这招就特别有用。
最后注意在配置文件中补上权限申明。
希望应用下载到当前应用的根目录下,而非SD卡中
然后可以随时被该应用或其他应用访问这个文件,即具有被全局读取的权限
此时可以利用上下文的本地文件输出流进行文件写入
注意要为文件赋予可写可读的权限,否则当读取该文件时会报错
FileOutputStream fos = context.openFileOutput(saveFileName,
Context.MODE_WORLD_WRITEABLE
| Context.MODE_WORLD_READABLE);
然后读取文件可以使用context.openFileInput获取到输入流
也可以使用 context.getFileStreamPath(name)来获得其File实例,比如要下载某个Apk到本地,并打开它时,这招就特别有用。
最后注意在配置文件中补上权限申明。
相关文章
Android数据流之Channel和Flow实现原理和技巧详解
在 Android 应用程序的开发中,处理异步数据流是一个常见的需求,为了更好地应对这些需求,Kotlin 协程引入了 Channel 和 Flow,它们提供了强大的工具来处理数据流,本文将深入探讨 Channel 和 Flow 的内部实现原理、高级使用技巧以及如何在 Android 开发中充分利用它们2023-11-11
Android使用ViewDragHelper实现仿QQ6.0侧滑界面(一)
这篇文章主要介绍了Android使用ViewDragHelper实现仿QQ6.0侧滑界面(一)的相关资料,需要的朋友可以参考下2016-02-02
android教程之使用asynctask在后台运行耗时任务
AsyncTask用在需要在ui线程中调用、在背景线程中执行耗时任务、并且在ui线程中返回结果的场合。下面就是一个在背景中运行的AsyncTask的实现DownloadDBTask2014-02-02
Android Gradle Build Error:Some file crunching failed, see l
这篇文章主要介绍了Android Gradle Build Error:Some file crunching failed, see logs for details的快速解决方法的相关资料,需要的朋友可以参考下2016-10-10


最新评论