天天看點

Android 擷取路徑

Android

//   /data/data/包名/files
context.getFilesDir();   
//   /data/data/包名/cache
context.getCacheDir();    //這兩個檔案夾下的内容會随着app解除安裝而删除
//   /storage/emulated/0
Environment.getExternalStorageDirectory();
//   /storage/emulated/0/DCIM, 另外還有MOVIE/MUSIC等很多種标準路徑
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);    
//   /storage/emulated/0/Android/data/packname/files 
getExternalFilesDir(“”).getAbsolutePath()
//   /storage/emulated/0/Android/data/packname/cache
getExternalCacheDir().getAbsolutePath() 
//  周遊存儲路徑(有sd卡會額外列印)
File[] files;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    files = getExternalFilesDirs(Environment.MEDIA_MOUNTED);
    for(File file:files){
        Log.e("main",file);
    }
}

           

ReactNative

借助第三方庫react-native-fs實作

yarn add react-native-fs  //或者npm install react-native-fs --save
react-native link react-native-fs
           

使用

var RNFS = require('react-native-fs');
//   undefined
console.log('MainBundlePath',RNFS.MainBundlePath)
//   /data/data/com.rn_test_demo/cache
console.log('CachesDirectoryPath',RNFS.CachesDirectoryPath)
//   /data/data/com.rn_test_demo/files
console.log('DocumentDirectoryPath',RNFS.DocumentDirectoryPath)
//   /data/data/com.rn_test_demo/cache
console.log('TemporaryDirectoryPath',RNFS.TemporaryDirectoryPath)
//   undefined
console.log('LibraryDirectoryPath',RNFS.LibraryDirectoryPath)
//   /storage/emulated/0/Android/data/com.rn_test_demo/files
console.log('ExternalDirectoryPath',RNFS.ExternalDirectoryPath)
//  /storage/emulated/0
console.log('ExternalStorageDirectoryPath',RNFS.ExternalStorageDirectoryPath)