Node.js melaksanakan pengalihan keluar kelompok pengepala fail BOM

PHPz
Lepaskan: 2018-09-30 09:56:00
ke hadapan
1480 orang telah melayarinya

Artikel ini terutamanya memperkenalkan Node.js untuk melaksanakan pengalihan keluar kelompok pengepala fail BOM. Artikel ini memberikan kod pelaksanaan secara langsung.

Seorang bekas rakan sekerja menulis alat, tetapi terdapat pepijat Selepas menggantikan fail, format fail asal ditukar kepada utf8 BOM jenis XML dengan BOM ini mungkin tidak dibaca di bawah Mac, jadi saya Anda perlu menulis alat untuk mengendalikannya.

Malah, idea ini agak mudah mula-mula melintasi direktori, kemudian membaca direktori, keluarkan tiga bait pertama fail, dan kemudian simpannya sebagai fail dalam format UTF-8 kod:)

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);
Salin selepas log masuk

Di atas adalah keseluruhan kandungan bab ini Untuk lebih banyak tutorial berkaitan, sila lawati Tutorial Video Node.js!

Label berkaitan:
sumber:jb51.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan