最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs如何將多個目錄文件合并成一個

 更新時間:2023年10月27日 09:20:16   作者:不吃魚的貓咪  
這篇文章主要介紹了nodejs如何將多個目錄文件合并成一個問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

nodejs多個目錄文件合并成一個

var fs = require('fs');
var baseUrl = './data';
var createJson = './data.json';
fs.readdir(baseUrl, function(err, files) {
        if (err) {
            throw err;
        }
        var filePath = '';

        var fileReadStream;
        var fileWriteStream = fs.createWriteStream(createJson);


        createStramFile();
        var fileNum = files.length-1;

        function createStramFile(){
            var currentfile = baseUrl+'/' + files.shift();
            fileReadStream = fs.createReadStream(currentfile);
            fileReadStream.pipe(fileWriteStream,{end:false});
            fileReadStream.on("end", function() {
                console.log(currentfile + ' appended');
                createStramFile();
            });
            if (!files.length) {
                fileWriteStream.end("Done");
                console.log('copy Done');
                return;
            }

            fileWriteStream.on('data',function(chunk){
                console.log('copy data');
                return chunk+','
            });

            fileWriteStream.on('close',function(){
                console.log(fileNum);
                if (!fileNum) {
                    roMockJs()
                }
                --fileNum;
                console.log('copy over');
                //roMockJs();
            });

        }


    });

nodejs將不同文件夾中的視頻整合到一個文件夾中

const fs = require("fs")
const path = require("path")
 
main();
 
function main() {
    const rootRealPath = path.resolve(__dirname);
    const newDirName = 'newFile'; // 移動目標文件名
    const newDirPath = path.resolve(__dirname + '/' + newDirName); // 新的文件路徑
    const filterFormatList = ['txt']; // 位移的文件后綴名
    const notFilterNames = [newDirName, 'filterFile.js']; // 不進行位移的文件 或者文件夾 或 文件格式
    let moveFileCount = 0; // 位移文件總數
    let eachFileCount = 0; // 遍歷文件總數
 
    // 如果頁面中沒有 newFile 那么直接創(chuàng)建
    if (!checkHasFile(rootRealPath, newDirName)) {
        console.log(`如果沒有${newDirName}文件夾 那么直接創(chuàng)建一個文件夾`);
        fs.mkdirSync(newDirName);
    }
    readDirSync(rootRealPath);
    console.log(`任務執(zhí)行完成  操作文件總數為: ${eachFileCount} 位移文件總數為: ${moveFileCount}`);
 
    function readDirSync(filePath) {
        const pa = fs.readdirSync(filePath);
 
        for (let i in pa) {
            let ele = pa[i];
            let index = i;
            if (notFilterNames.indexOf(ele) !== -1) { // 如果是位移后目標文件夾 則不進行操作
                break;
            }
            var info = fs.statSync(filePath + "/" + ele); // 判斷是文件夾 還是文件
            if (info.isDirectory()) {
                // 遞歸遍歷所有文件夾, 將文件夾中的文件取出
                readDirSync(filePath + "/" + ele);
            } else {
                var splitArea = ele.split('.');
                var fileName = splitArea.slice(0, -1); // 不帶有格式的文件名
                var fileFormat = splitArea.slice(-1); // 文件格式
                eachFileCount++;
                if (filterFormatList.indexOf(splitArea[splitArea.length - 1]) !== -1) {
                    moveFileCount++;
                    if (checkHasFile(newDirPath, ele)) {
                        fs.renameSync(path.resolve(`${filePath}/${ele}`), path.resolve(`${newDirPath}/${fileName}_${(new Date()).getTime()}.${fileFormat}`));
                        console.log('加時間戳 然后移動', ele);
                    } else {
                        console.log('沒有同名文件 直接移動', ele);
                        fs.renameSync(path.resolve(filePath + "/" + ele), path.resolve(newDirPath + '/' + ele));
                    }
                } else {
                    console.log('非 位移文件 不進行位移');
                }
 
            }
        }
    }
 
}
 
// 判斷目標文件夾中是否有相同名稱的文件
function checkHasFile(filePath, file) {
    var pa = fs.readdirSync(filePath);
    if (!pa || pa.length === 0) {
        return false;
    }
    return (pa.indexOf(file) !== -1);
}

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Node.js HTTP服務器中的文件、圖片上傳的方法

    Node.js HTTP服務器中的文件、圖片上傳的方法

    這篇文章主要介紹了Node.js HTTP服務器中的文件、圖片上傳的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • nodejs微信掃碼支付功能實現

    nodejs微信掃碼支付功能實現

    本片文章通過代碼示例給大家詳細講述了如何用nodejs寫出微信掃碼支付這個功能,有興趣的朋友可以參考下。
    2018-02-02
  • node.js下LDAP查詢實例分享

    node.js下LDAP查詢實例分享

    這篇文章主要介紹了node.js下LDAP查詢實例分享的相關資料,需要的朋友可以參考下
    2015-09-09
  • 從零開始學習Node.js系列教程三:圖片上傳和顯示方法示例

    從零開始學習Node.js系列教程三:圖片上傳和顯示方法示例

    這篇文章主要介紹了Node.js圖片上傳和顯示方法,結合實例形式分析了nodejs基于http傳輸圖片文件及顯示圖片的相關實現步驟與操作技巧,需要的朋友可以參考下
    2017-04-04
  • Node.js 實現簡單小說爬蟲實例

    Node.js 實現簡單小說爬蟲實例

    現在爬蟲在很多web項目中都有應用,這篇文章主要介紹了Node.js 實現簡單小說爬蟲實例,有興趣的可以了解一下。
    2016-11-11
  • NodeJS簡單實現WebSocket功能示例

    NodeJS簡單實現WebSocket功能示例

    這篇文章主要介紹了NodeJS簡單實現WebSocket功能,結合具體實例形式分析了nodejs實現WebSocket通信功能的客戶端與服務器端相關操作技巧,需要的朋友可以參考下
    2018-02-02
  • 基于npm?install或run時一些報錯的解決方案

    基于npm?install或run時一些報錯的解決方案

    這篇文章主要介紹了基于npm?install或run時一些報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Sequelize中用group by進行分組聚合查詢

    Sequelize中用group by進行分組聚合查詢

    大家都知道在SQL查詢中,分組查詢是較常用的一種查詢方式。分組查詢是指通過GROUP BY關鍵字,將查詢結果按照一個或多個字段進行分組,分組時字段值相同的會被分為一組。在Node.js基于Sequelize的ORM框架中,同樣支持分組查詢,使用非常簡單方便。下面來看看詳細的介紹。
    2016-12-12
  • NodeJS模塊Buffer原理及使用方法解析

    NodeJS模塊Buffer原理及使用方法解析

    這篇文章主要介紹了NodeJS模塊Buffer原理及使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • 在NodeJS中啟用ECMAScript 6小結(windos以及Linux)

    在NodeJS中啟用ECMAScript 6小結(windos以及Linux)

    ECMAScript 6 是JavaScript的下一代標準,其目標,是使得JavaScript可以用來編寫復雜的應用程序、函數庫和代碼的自動生成器(code generator)。
    2014-07-07

最新評論

惠来县| 镇坪县| 达拉特旗| 政和县| 三穗县| 云林县| 合肥市| 高台县| 永年县| 渭源县| 宁夏| 杭锦旗| 曲沃县| 阿克苏市| 南和县| 离岛区| 普定县| 休宁县| 阿巴嘎旗| 博湖县| 麻栗坡县| 会昌县| 盘锦市| 北海市| 陈巴尔虎旗| 合阳县| 德格县| 德惠市| 靖宇县| 浠水县| 渭源县| 高淳县| 麻城市| 石嘴山市| 宜昌市| 娱乐| 全椒县| 湖北省| 丹寨县| 疏勒县| 平定县|