示例代码
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_main); //Android 2.2(API level 8)之前用Environment类获取目录 String ext_state = Environment.getExternalStorageState(); File root_file = Environment.getRootDirectory(); File data_file = Environment.getDataDirectory(); File down_file = Environment.getDownloadCacheDirectory(); File ext_file = Environment.getExternalStorageDirectory(); File ext_pfile = Environment.getExternalStoragePublicDirectory("mydir"); Log.d("test", "Environment.getExternalStorageState: " + ext_state); Log.d("test", "Environment.getRootDirectory: " + root_file.getAbsolutePath()); Log.d("test", "Environment.getDataDirectory: " + data_file.getAbsolutePath()); Log.d("test", "Environment.getDownloadCacheDirectory: " + down_file.getAbsolutePath()); Log.d("test", "Environment.getExternalStorageDirectory: " + ext_file.getAbsolutePath()); Log.d("test", "Environment.getExternalStoragePublicDirectory: " + ext_pfile.getAbsolutePath()); //Android 2.2(API level 8)之后可从应用上下文中获取目录 //Context.MODE_PRIVATE 默认操作模式,表示私有数据,只能被创建它的应用访问。 //Context.MODE_WORLD_READABLE 可被其他应用读取 //Context.MODE_WORLD_WRITEABLE 可被其他应用写入 //Context.MODE_APPEND 文件不存在,则创建,若存在,则追加写入 File dir = this.getDir("mydir", Context.MODE_PRIVATE); File fileDir = this.getFilesDir(); File extDir = this.getExternalFilesDir("mydir"); File cacheDir = this.getCacheDir(); File extCacheDir = this.getExternalCacheDir(); File databasePath = this.getDatabasePath("mydir"); File streamPath = this.getFileStreamPath("mydir"); File obbDir = this.getObbDir(); Log.d("test", "this.getDir: " + dir.getAbsolutePath()); Log.d("test", "this.getFilesDir: " + fileDir.getAbsolutePath()); Log.d("test", "this.getExternalFilesDir: " + extDir.getAbsolutePath()); Log.d("test", "this.getCacheDir: " + cacheDir.getAbsolutePath()); Log.d("test", "this.getExternalCacheDir: " + extCacheDir.getAbsolutePath()); Log.d("test", "this.getDatabasePath: " + databasePath.getAbsolutePath()); Log.d("test", "this.getFileStreamPath: " + streamPath.getAbsolutePath()); Log.d("test", "this.getObbDir: " + obbDir.getAbsolutePath()); }
Logcat日志