Node.js는 BOM 파일 헤더의 일괄 제거를 구현합니다.

PHPz
풀어 주다: 2018-09-30 09:56:00
앞으로
1480명이 탐색했습니다.

이 글에서는 BOM 파일 헤더 일괄 제거를 구현하기 위한 Node.js를 주로 소개합니다. 이 글에서는 구현 코드를 직접 제공하여 필요한 경우 참고할 수 있습니다.

전 동료가 툴을 작성했는데 버그가 있었습니다. 파일을 교체한 후 원본 파일 형식이 utf8 BOM으로 변경되어 Mac에서는 읽혀지지 않을 수 있습니다. 이를 처리할 도구를 작성해야 합니다.

사실 아이디어는 비교적 간단합니다. 먼저 디렉터리를 탐색한 다음 디렉터리를 읽고 파일의 처음 3바이트를 제거한 다음 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);
로그인 후 복사

위 내용은 이 장의 전체 내용입니다. 더 많은 관련 튜토리얼을 보려면 Node.js 비디오 튜토리얼을 방문하세요!

관련 라벨:
원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿