javascript - 使用 node.js 从文件中读取

标签 javascript node.js typeof

这是我的文本文件 -

15,13,12
10
10

这是 .js 文件

var fs = require("fs");
var data = fs.readFileSync("someNumbers.txt", "utf8");

for(var i=0; i<data.length; i++){
    console.log(i + ": " + data[i] + ": " + typeof data[i]);
}

最后是输出:

0: 1: string
1: 5: string
2: ,: string
3: 1: string
4: 3: string
5: ,: string
6: 1: string
7: 2: string
8: ,: string
: string
10:
: string
11: 1: string
12: 0: string
: string
14:
: string
15: 1: string
16: 0: string

我不明白我到达 9 后输出发生了什么; 我将不胜感激。 杰拉德

最佳答案

当您尝试在字符串中包含原始文件中的回车符和/或换行符,然后将该字符串发送到 console.log() 时,您可能会遇到问题。更改您的代码以使用十六进制值而不是实际值,您的问题应该得到解决:

var fs = require("fs");
var data = fs.readFileSync("someNumbers.txt", "utf8");

for(var i=0; i<data.length; i++){
    console.log(i + ": " + data.charCodeAt(i).toString(16). + ": " + typeof data[i]);
}

或者,跳过任何不可打印的字符:

var fs = require("fs");
var data = fs.readFileSync("someNumbers.txt", "utf8");

for (var i=0; i<data.length; i++){
    var ch = data.charCodeAt(i);
    if (ch > 32 && ch <= 127) {
        console.log(i + ": " + ch + ": " + typeof ch);
    }
}

请注意,当您读取文件并告诉它将其解释为 utf8 时,您已经做到了 typeof 该数据中的每个项目都将被视为一个字符串,无论它是真的是或不是。您已经告诉 Javascript 将其全部设为字符串。

关于javascript - 使用 node.js 从文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34708857/

相关文章:

javascript - 如何调用 Javascript 函数表达式

javascript - iPad Canvas 旋转

javascript - 如何在vue-leaflet中的多边形内添加文本?

android - 如何创建与android聊天应用程序通信的 Node xmpp服务器

c++ - boost::mpl::integral_c 之类的模板可以注册到 Boost.Typeof 吗?

java - 如何将多个模型属性添加到一个模型属性中?

javascript - 如何使用nodejs访问json中的数据

node.js - Redis time() 有时会返回 future 的时间

javascript - redux(?) 请求的 $$typeof 属性缺失

types - golang 类型断言使用 reflect.Typeof()