我想读取一个文件,国家代码是key,描述是value,例如:+93=AFG +93
+86=CHN +86请问怎么写啊?谢谢!

解决方案 »

  1.   

    利用json格式,创建一个js文件,如下
    country.js
    var _json = {"+93": "AFG +93", "+86": "CHN +96"}然后在需要加载改文件的地方使用如下代码加载jsvar script = document.createElement("script");
    script.type="text/javascript";
    if (script.readyState) { //IE
    script.onreadystatechange = function(){
    var state = script.readyState;
    if (state === "loaded" || state === "complete"){
    script.onreadystatechange = null;
    alert(_json["+98"])
    }
    }
    } else {
    script.onload = function(){
    alert(_json["+98"]);
    }
    }script.src = "country.js";
    document.getElementsByTagName("head")[0].appendChild(script);
      

  2.   

    js访问本地文件得具有本地访问权限。
    如果只在本地执行:cscript和nodejs都可以。void function(){
    var isnodejs = typeof exports != 'undefined'; function log(info) {
    if (isnodejs) {
    console.log(info);
    } else {
    WScript.StdOut.WriteLine(info);
    }
    } function fileText(filename) {
    if (isnodejs) { // node.exe
    return String(require('fs').readFileSync(filename));
    } else { // cscript.exe
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    if (!fso.FileExists(filename)) return;
    var istream = fso.OpenTextFile(filename, 1);
    if (!istream) return "";
    try {
    var contents = istream.ReadAll();
    istream.Close();
    } catch (ex) {
    return ex.message;
    } finally {
    istream = null;
    fso = null;
    }
    return contents;
    }
    }

    var filename = isnodejs ? process.argv[2] : WScript.Arguments.Length && WScript.Arguments(0);
    if (!filename) return;

    // process
    var text = fileText(filename);
    var lines = text.split(/[\r\n]+/);
    for (var i = 0; i < lines.length; i++) {
    var line = lines[i];
    var match = line.match(/\s*([^=])=(.*)$/);
    if (match) {
    log('index:' + i);
    log('key:' + match[1]);
    log('value:' + match[2]);
    }
    }
    /*
    node.exe p.js temp.txt
    cscript.exe p.js temp.txt
    */
    }();