您的位置:首页 > 移动开发 > Android开发

关于Android系统目录下文件的操作

2017-03-20 19:07 465 查看

本文简介

Android系统目录主要指的是/data/data/packagename/下的文件夹和文件。系统目录的文件存在形式主要有两种形态,见下图



该图中显示的是系统给出的目录例如:databases的目录为/data/data/com.xxx.xxx/databases,此外还有cache、files、lib、shared_prefs目录下的文件,这些都是系统给出的文件夹。

关于这些文件夹下的文件清理代码如下:

/**
* 清除APP数据
*/
private void clearData() {
//      final String path = "/data/data/" + getPackageName().toString();
final String path = getFilesDir().getParent();

//清空配置文件目录shared_prefs;
File file_xml = new File(path + "/shared_prefs");
if (file_xml.exists()) {
File[] files = file_xml.listFiles();
for (int i = 0; i < files.length; i++) {
files[i].delete();
}
}

//清空缓存目录;
File file_cache = getCacheDir();
if (file_cache.exists()) {
File[] files = file_cache.listFiles();
for (int i = 0; i < files.length; i++) {
files[i].delete();
}
}

//清空file目录;
File file_file = new File(path + "/files");;
if (file_file.exists()) {
File[] files = file_file.listFiles();
for (int i = 0; i < files.length; i++) {
files[i].delete();
}
}

//清空数据库目录;
File file_db = new File(path + "/databases");
if (file_db.exists()) {
File[] files = file_db.listFiles();
for (int i = 0; i < files.length; i++) {
files[i].delete();
}
}


系统目录下还有一种文件存放的形态是我们自定义的形式:

//返回的目录为/data/data/com.xxx.xxx/app_lsk
context.getDir("lsk", Context.MODE_PRIVATE).getAbsolutePath();


该种目录下的文件夹不能用file.list()得到相应的文件进行删除,想要清理该文件需要知道具体的文件的名字才可以删除。因此在向该目录中存放目录时需要用数据库记住文件名,然后在遍历删除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 缓存 data-data