文件结果:将hex转换为string

时间:2017-02-16 12:21:49

标签: javascript node.js

我是节点JS的新手,我遇到了解决从多个文件读取的练习的问题。当我执行代码时,它返回Alexa中的数据,当我尝试转换数据时,我没有收到期望的结果

如果有人可以告诉我我的代码有什么问题,那将会有所帮助。

  var fs = require('fs');
    var tabfichier = ['test.txt','test2.txt'];
    var result;
    var donne;
    var call =function(result,donne){
        console.log('result : ');
        console.log(result);
        console.log('donne : ');

  //my function to convert 
        function hex_to_string(donne)
    {
        var hex = result.toString();
        var str = '';

        for (var n = 0; n < hex.length; n += 2) {
            str += String.fromCharCode(parseInt(hex.substr(n, 2), 16));
        }
        return str;
    }


        console.log(hex_to_string(donne));//i call her
        var array = [];
        return array [null,result] ;
    }


    readFiles(tabfichier, call);

    function readFiles(files, callback)
    {

        console.log(files);
        console.log(callback);

        var filesLeft = files.length;
        var contents = {};
        var error = null;
        var filePath = ('./');
        var x=0;

        var processContent = function(filePath) 
        {

            return function(err, data){

                if (error !== null)
                {

                    return; 
                }


                if (err)
                {

                    error = err;
                    return callback(err);
                }

                contents[x] = data;
                x++;



                if (!--filesLeft) 
                {

                    return callback('null', contents);
                }
            };

        };

        files.forEach(function(filePath){
            fs.readFile(filePath, processContent(filePath));

        });
    }

1 个答案:

答案 0 :(得分:0)

你必须指定编码,因此fs.readFile(filename, encoding, callback)大多数comomon编码都是urf8ascii

您还可以使用此功能filedata = readFileSync(filename, encoding)

的同步版本