Maison > interface Web > js tutoriel > le corps du texte

Node.js implémente la suppression par lots des en-têtes de fichiers BOM

PHPz
Libérer: 2018-09-30 09:56:00
avant
1480 Les gens l'ont consulté

Cet article présente principalement Node.js pour implémenter la suppression par lots des en-têtes de fichiers BOM. Cet article donne directement le code d'implémentation. Les amis dans le besoin peuvent s'y référer.

Un ancien collègue a écrit un outil, mais il y a eu un bug. Après le remplacement du fichier, le format du fichier d'origine a changé en utf8 BOM. Ce type de XML avec BOM peut ne pas être lu sous Mac, donc je. Vous devez écrire un outil pour le gérer.

En fait, l'idée est relativement simple. Parcourez d'abord le répertoire, puis lisez le répertoire, supprimez les trois premiers octets du fichier, puis enregistrez-le sous forme de fichier au format UTF-8. code :)

var fs = require('fs');
var path = "目标路径..";


function readDirectory(dirPath) {
    if (fs.existsSync(dirPath)) {
        var files = fs.readdirSync(dirPath);
        
        files.forEach(function(file) {
            var filePath = dirPath + "/" + file;
            var stats = fs.statSync(filePath);
            if (stats.isDirectory()) {
                console.log('\n读取目录: ', filePath, "\n");
                readDirectory(filePath);
            } else if (stats.isFile()) {
                var buff = fs.readFileSync(filePath);
                if (buff[0].toString(16).toLowerCase() == "ef" && buff[1].toString(16).toLowerCase() == "bb" && buff[2].toString(16).toLowerCase() == "bf") {
                    //EF BB BF 239 187 191
                    console.log('\发现BOM文件:', filePath, "\n");
                    buff = buff.slice(3);
                    fs.writeFile(filePath, buff.toString(), "utf8");
                }
            }
        });       
    } else {
        console.log('Not Found Path : ', dirPath);
    }
}
readDirectory(path);
Copier après la connexion

Ce qui précède représente l'intégralité du contenu de ce chapitre. Pour plus de didacticiels connexes, veuillez visiter le Tutoriel vidéo Node.js !

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal