0

我正在尝试将 react-native-fs 用于一些基本的文件存储。这是一些代码。

var RNFS = require('react-native-fs');

static testSave() {
    var count = this.countFiles(".txt");
    var path = RNFS.DocumentDirectoryPath + '/test' + count + '.txt';
    console.log("PATH: " + path);

    // write the file
    RNFS.writeFile(path, 'Lorem ipsum dolor sit amet', 'utf8')
    .then((success) => {
        console.log('FILE WRITTEN!');
    })
    .catch((err) => {
        console.log(err.message);
    });
}

static countFiles(extension) {
    var allNames = RNFS.readdir(RNFS.DocumentDirectoryPath);
    var count = 0;
    for(var name in allNames) {
        if (name.includes(extension)) {
            ++count;
        }
    }
    console.log("DIR COUNT: " + count);
    return count;
}

所以,我尝试同时使用 DocumentDirectoryPath 和 ExternalStorageDirectoryPath,正如这里的答案所建议的那样:react native fs library not writing files

尽管它说它们正在保存,但我在手机上找不到这些文件。这里还有一些我执行 testSave() 两次的运行时日志(在两个不同的 react-native 程序执行中)。

12-19 21:47:46.920 30468  4162 I ReactNativeJS: Running application "AwesomeProject"          
12-19 21:47:46.961 30468  4162 I ReactNativeJS: DIR COUNT: 0
12-19 21:47:46.961 30468  4162 I ReactNativeJS: PATH: /data/user/0/com.awesomeproject/files/test0.txt
12-19 21:47:47.165 30468  4162 I ReactNativeJS: FILE WRITTEN!

12-19 21:47:51.345 30468  4174 I ReactNativeJS: Running application "AwesomeProject" 
12-19 21:47:51.389 30468  4174 I ReactNativeJS: DIR COUNT: 0
12-19 21:47:51.389 30468  4174 I ReactNativeJS: PATH: /data/user/0/com.awesomeproject/files/test0.txt
12-19 21:47:51.596 30468  4174 I ReactNativeJS: FILE WRITTEN!
4

1 回答 1

0

我至少弄清楚了我的问题的一部分。我不确定为什么目录计数为 0。但是,我找到了这些文件。我不确定绝对路径是什么,但是当我打开三星 Galaxy 8 文件资源管理器时,文件位于我的文件 > 内部存储/或我的文件 > 文档 > 内部存储/。

我以为我已经通过其中一些目录进行了一些搜索,但也许我没有搜索到正确的地方。对不起,垃圾问题!

于 2018-12-21T22:16:10.817 回答