react-native-fs / github 已经具备了 iOS 和 Android 文件的复制,删除,查询。
可没有提供文件夹的复制,本文使用递归实现文件夹复制。
iOS 文件夹复制
react-native-fs 的API copyFile(filepath: string, destPath: string): Promise
注意:使用过程中,如果那个目标文件或文件夹已经存在,会抛出一个error。
Android 文件夹复制
Android 官方文档没有提供直接复制文件夹的API
自己实现思路如下: 将原始文件夹复制到目标文件夹,思路是遍历原始文件夹,如果子项目是文件,则复制到对应位置,如果子项目是文件夹,则在目标文件夹创建对应的文件夹,递归调用文件夹复制方法。
以下基于 react-native-fs ,以从 App assets 目录下的文件夹复制到目标文件夹为例。
语言: TypeScript 2.6.1
环境:”react-native”: “0.51.0”,”react-native-fs”: “^2.9.11”
1 | import * as RNFS from 'react-native-fs'; |
注意:Android 的 assets 文件夹是只能读取不能修改删除的。
参考
http://www.java2s.com/Code/Android/File/CopyFileandDirectory.htm