每个应用程序包都会有一个私有的存储数据的目录,只有属于该包的应用程序才有权限写入该目录,其绝对路径:/data/data/<包名>/目录。除了私有数据目录,应用程序还能读写sdcard。文件系统中其他系统目录,第三方应用程序是不可写。
//创建文件夹
File destDir = new File(“/data/data/<包名>/<文件夹>”);
if (!destDir.exists()) {
destDir.mkdirs();
}
//修改权限
FileOutputStream fos;
fos = openFileOutput("filename" , MODE_WORLD_READABLE);
/*模式:
public static final int MODE_PRIVATE = 0x0000;//拥有者可访问,覆盖式保存数据
public static final int MODE_WORLD_READABLE = 0x0001;//拥有者可访问,追加式保存数据
public static final int MODE_WORLD_WRITEABLE = 0x0002;
public static final int MODE_APPEND = 0x8000;
*/
//sdcard,需先判断sdcard是否插入
String status = Environment.getExternalStorageState();
if (status.equals(Environment.MEDIA_MOUNTED)) {
return true;
}
else {
return false;
}
//获取sdcard的绝对路径
Enviroment.getExternalStorageDirectory();
//获取手机内存的绝对路径(/data/data/<pacage name>/Files)
activity.getFilesDir();
//获取缓存目录(/data/data/<pacage name>/cache);
activity.getCacheDir();