Android 获取系统各个目录的方法

在Android开发过程中,我们经常会对文件系统进行操作——存放、释放我们应用的数据。Android系统中提供了各种功能的文件目录,每个目录都有相应的特点和功能。 这篇文章主要介绍和记录一下实际开发过程中常用的各个文件目录。

(1)内部存储(Internal Storage)

内部存储是App的私有目录,当一个应用卸载之后,内部存储中的这些文件也被删除。Shared Preferences和SQLite数据库文件都是存储在内部存储空间上的。

-context.getFileDir()

路径:(data/data/应用包名/files),

不过经实际测试(华为、小米手机等),getFileDir实际路径为: /data/user/0/ 应用包名/files

Log.e(TAG,getApplicationContext().getFilesDir().getAbsolutePath())

-context.getCacheDir()

应用程序的缓存目录,该目录内的文件在设备内存不足时会优先被删除掉,所以存放在这里的文件是没有任何保障的,可能会随时丢掉。

路径:(data/data/应用包名/cache),不过经实际测试(华为、小米手机等),getCacheDir的手机路径为: /data//data/user/0/应用包名/cache

Log.e(TAG,getApplicationContext().getCacheDir().getAbsolutePath())

2 )外部存储(External Storage)

外部存储一般是指SDCard,外部存储中的文件是可以被用户或者其他应用程序修改的,外部存储中的目录实际上也分为两种:

-公共文件(目录)

文件是可以被自由访问,且文件的数据对其他应用或者用户来说都是由 意义的,当应用被卸载之后,其卸载前创建的文件仍然保留。

Environment.getExternalStorageDirectory() 

SD卡的根目录,路径:/storage/emulated/0

Log.e(TAG, Environment.getExternalStorageDirectory().getAbsolutePath());

-私有文件

由于是外部存储的原因即使是这种类型的文件也能被其他程序访问,只不过一个应用私有的文件对其他应用其实是没有访问价值的(恶意程序除外)。外部存储上,应用私有文件的价值在于卸载之后,这些文件也会被删除。类似于内部存储。

getApplicationContext().getExternalFilesDir(“”) 

路径:/storage/emulated/0/Android/data/应用包名/files

Log.e(TAG, getApplicationContext().getExternalFilesDir("").getAbsolutePath());

扩展: getExternalFilesDir是手机中设置 → 应用 → 具体应用详情→ 清除数据 的操作对象

getApplicationContext().getExternalCacheDir() 

路径:/storage/emulated/0/Android/data/应用包名/cache

Log.e(TAG,getApplicationContext().getExternalCacheDir().getAbsolutePath());

扩展:getExternalCacheDir是手机中设置 → 应用 → 具体应用详情→ 清除缓存的操作对象

以上这篇Android 获取系统各个目录的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 实现Android 获取cache缓存的目录路径的方法

    实现Android 获取cache缓存的目录路径的方法 Android开发中,有时需要知道cache缓存的路径.我写了一个静态类,供大家能参考 public class CommonUtil { /** * 获取cache路径 * * @param context * @return */ public static String getDiskCachePath(Context context) { if (Environment.MEDIA_MOUNTED.equals(Environmen

  • 读取android根目录下的文件或文件夹实例

    最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!! 近半个月来,C#这方面的编码比较多,android和java这里完全搁置了,于是抽空写个小例子. 这个例子非常小,就是一个读取android根目录下的文件夹或文件,当做热一下身. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

  • Android遍历所有文件夹和子目录搜索文件

    本文实例为大家分享了android遍历所有文件夹和子目录来搜索文件,供大家参考,具体内容如下 java代码: import java.io.File; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget

  • 浅谈android获取存储目录(路径)的几种方式和注意事项

    通常, 我们创建文件/目录, 或者存储图片什么的, 我们都需要拿到手机的存储路径, 现在我们就来看一下获取手机存储路径的几种方式(作为工具类方法调用即可): 第一种: 获取 /storage/emulated/0 public static boolean sdCardIsAvailable() { //首先判断外部存储是否可用 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File

  • Android 获取系统各个目录的方法

    在Android开发过程中,我们经常会对文件系统进行操作--存放.释放我们应用的数据.Android系统中提供了各种功能的文件目录,每个目录都有相应的特点和功能. 这篇文章主要介绍和记录一下实际开发过程中常用的各个文件目录. (1)内部存储(Internal Storage) 内部存储是App的私有目录,当一个应用卸载之后,内部存储中的这些文件也被删除.Shared Preferences和SQLite数据库文件都是存储在内部存储空间上的. -context.getFileDir() 路径:(d

  • Android获取系统时间的多种方法

    Android中获取系统时间有多种方法,可分为Java中Calendar类获取,java.util.date类实现,还有android中Time实现. 现总结如下: 方法一: void getTime1(){ long time=System.currentTimeMillis();//long now = android.os.SystemClock.uptimeMillis(); SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd

  • Python实现获取系统临时目录及临时文件的方法示例

    本文实例讲述了Python实现获取系统临时目录及临时文件的方法.分享给大家供大家参考,具体如下: 在开发应用程序的过程中,会有一些临时的信息,或者不太重要的信息,会保存在一个特殊的目录下面,在windows 里面,通常会在 c:\docume~1\admini~1\locals~1\temp 这个地方,而在 centos 中就是 /tmp 目录 比如我们经常上网,网页的的一些临时信息都保存在这个临时目录里面.那么在我们自己写应用程序的时候,怎么得到这个临时目录,怎么创建临时文件呢.在python

  • 解析Android获取系统cpu信息,内存,版本,电量等信息的方法详解

    Android获取系统cpu信息,内存,版本,电量等信息 1.CPU频率,CPU信息:/proc/cpuinfo和/proc/stat 通过读取文件/proc/cpuinfo系统CPU的类型等多种信息.读取/proc/stat 所有CPU活动的信息来计算CPU使用率 下面我们就来讲讲如何通过代码来获取CPU频率: 复制代码 代码如下: package com.orange.cpu; import java.io.BufferedReader;import java.io.FileNotFound

  • PHP获取系统毫秒数时间方法

    目录 前言 一.获取当前时间戳 二.获取当前时间 三.获取当前毫秒数 前言 php中获取时间方法是date(),在php中获取时间戳方法有time().strtotime(): date() :date(format, timestamp),format为格式.timestamp为时间戳(可选).time():返回当前时间的 Unix 时间戳,没有参数.strtotime(time, now) :将英文文本格式的时间字符串解析为 Unix 时间戳.time 为必填,规定要解析的时间字符串:now

  • asp.net获取系统当前时间的方法详解

    本文实例讲述了asp.net获取系统当前时间的方法.分享给大家供大家参考,具体如下: 在c# / ASP.net中我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12:11:10)等. //获取日期+时间 DateTime.Now.ToString(); // 2008-9-4 20:02:10 DateTime.Now.ToLocalTime().

  • PHP获取路径和目录的方法总结【必看篇】

    PHP获取目录和的方法通过魔术变量:通过超级全局变量:通过相关函数等等: <?php /** * PHP获取路径或目录实现 */ //魔术变量,获取当前文件的绝对路径 echo "__FILE__: ========> ".__FILE__; echo '<br/>'; //魔术变量,获取当前脚本的目录 echo "__DIR__: ========> ".__DIR__; echo '<br/>'; //dirname返回

  • Android获取窗体信息的Util方法

    Android获取窗体信息的Util方法,方法很简单,这里就不多废话了,直接上代码 package com.wangyi.tools; import android.app.Activity; import android.util.DisplayMetrics; public class DisplayUtils { private static DisplayUtils instance; private Activity mActivity; private DisplayUtils(Ac

  • Android调用系统默认浏览器访问的方法

    一.启动android默认浏览器 这样子,android就可以调用起手机默认的浏览器访问. 二.指定相应的浏览器访问 1.指定android自带的浏览器访问 ( "com.android.browser":packagename :"com.android.browser.BrowserActivity":启动主activity) Intent intent= new Intent(); intent.setAction("android.intent.a

  • Linux中shell脚本获取当前工作目录的方法

    如下: workdir=$(cd $(dirname $0); pwd) 步骤1 dirname $0,取得当前执行的脚本文件的父目录 步骤2 cd到父目录,即进入当前工作目录 步骤3 pwd显示当前工作目录 以上这篇Linux中shell脚本获取当前工作目录的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

随机推荐