let fs = require("fire-fs"); let path = require("fire-path"); let self = module.exports = { getDirAllFiles(dirPath, result) { let files = fs.readdirSync(dirPath); files.forEach((val, index) => { let fPath = path.join(dirPath, val); let stats = fs.statSync(fPath); if (stats.isDirectory()) { this.getDirAllFiles(fPath, result); } else if (stats.isFile()) { result.push(fPath); } }); }, getFileString(fileList, options) { let curIndex = 0; let totalIndex = fileList.length; let str = {}; for (let key in fileList) { let filePath = fileList[key]; let b = this._isFileExit(filePath); if (b) { fs.readFile(filePath, 'utf-8', function (err, data) { if (!err) { self._collectString(data, str); } else { console.log("error: " + filePath); } self._onCollectStep(filePath, ++curIndex, totalIndex, str, options); }) } else { self._onCollectStep(filePath, ++curIndex, totalIndex, str, options); } } }, _onCollectStep(filePath, cur, total, str, data) { if (data && data.stepCb) { data.stepCb(filePath, cur, total); } if (cur >= total) { self._onCollectOver(str, data); } }, _onCollectOver(collectObjArr, data) { let strArr = []; let str = ""; for (let k in collectObjArr) { str += k; strArr.push(k); } // console.log("一共有" + strArr.length + "个字符, " + strArr); console.log("一共有" + strArr.length + "个字符"); if (data && data.compCb) { data.compCb(str); } }, mkDir(path) { try { fs.mkdirSync(path); } catch (e) { if (e.code !== 'EEXIST') throw e; } }, isFileExit(file) { try { fs.accessSync(file, fs.F_OK); } catch (e) { return false; } return true; }, _collectString(data, collectObject) { for (let i in data) { let char = data.charAt(i); if (collectObject[char]) { collectObject[char]++; } else { collectObject[char] = 1; } } }, emptyDir(rootFile) { //删除所有的文件(将所有文件夹置空) let emptyDir = function (fileUrl) { let files = fs.readdirSync(fileUrl);//读取该文件夹 for (let k in files) { let filePath = path.join(fileUrl, files[k]); let stats = fs.statSync(filePath); if (stats.isDirectory()) { emptyDir(filePath); } else { fs.unlinkSync(filePath); console.log("删除文件:" + filePath); } } }; //删除所有的空文件夹 let rmEmptyDir = function (fileUrl) { let files = fs.readdirSync(fileUrl); if (files.length > 0) { for (let k in files) { let rmDir = path.join(fileUrl, files[k]); rmEmptyDir(rmDir); } if (fileUrl !== rootFile) {// 不删除根目录 fs.rmdirSync(fileUrl); console.log('删除空文件夹' + fileUrl); } } else { if (fileUrl !== rootFile) {// 不删除根目录 fs.rmdirSync(fileUrl); console.log('删除空文件夹' + fileUrl); } } }; emptyDir(rootFile); rmEmptyDir(rootFile); }, /* is_fileType($('#uploadfile').val(), 'doc,pdf,txt,wps,odf,md,png,gif,jpg') * */ is_fileType(filename, types) { types = types.split(','); let pattern = '\.('; for (let i = 0; i < types.length; i++) { if (0 !== i) { pattern += '|'; } pattern += types[i].trim(); } pattern += ')$'; return new RegExp(pattern, 'i').test(filename); } }