React Native使用RNFS在Android创建的文件实际存储位置咨询
在Android设备上查找react-native-fs创建的文件路径
嘿,我来帮你搞定这个找不到文件的问题!你用RNFS.DocumentDirectoryPath创建的文件,其实存在Android应用的私有专属目录里,默认情况下普通文件管理器看不到,下面给你详细说具体路径和查找方法:
一、真实路径是什么?
RNFS.DocumentDirectoryPath在Android上对应的真实系统路径是:
/data/data/[你的应用包名]/files/
这里的[你的应用包名]就是你React Native项目中android/app/src/main/AndroidManifest.xml里的package属性值,比如com.myawesomeapp。
二、怎么找到这个文件?
方法1:用ADB命令查看(最靠谱,所有Android版本通用)
- 先确保你的设备开启了USB调试,并且和电脑连接正常
- 打开终端/命令提示符,依次执行以下命令:
执行adb shell cd /data/data/[你的应用包名]/files/ lsls后就能看到你创建的test.txt文件了,还可以用cat test.txt查看文件内容。
方法2:通过设备文件管理器查看(仅Android 11+适用)
从Android 11开始,系统给应用私有目录提供了一个可访问的映射路径,你可以在设备的文件管理器里找到:
Android/data/[你的应用包名]/files/
注意:需要你的应用已经获取了文件访问权限,而且这个路径是系统映射的,和/data/data里的目录是同一个存储位置。
方法3:在代码里直接打印完整路径
你可以修改代码,把生成的路径打印出来,这样就能直接看到真实路径了:
var RNFS = require('react-native-fs'); var path = RNFS.DocumentDirectoryPath + '/test.txt'; // 打印路径到调试控制台 console.log('文件完整路径:', path); RNFS.writeFile(path, 'Lorem ipsum dolor sit amet', 'utf8') .then((success) => { console.log('FILE WRITTEN!'); }) .catch((err) => { console.log(err.message); });
打开React Native的调试控制台,就能看到完整的路径字符串,直接对应Android系统里的真实位置。
另外你提到创建了两个文件,大概率是这段代码被执行了两次,可以检查下代码的调用时机哦~
内容的提问来源于stack exchange,提问作者Pons Suarez
相关产品推荐
相关产品推荐

