Node.js 以独立于系统的方式将文件读入行数组

Node.js 以独立于系统的方式将文件读入行数组,node.js,Node.js,在Node.js中,当我想将文件的行读入数组时,我会: fs.readFileSync(filename).split('\r\n') 但这在Linux上不起作用。在Linux上,我可以做到: fs.readFileSync(filename).split('\n') 但这在Windows上不起作用。我还可以做: fs.readFileSync(filename).split(/[\r\n]+/) 这两种系统都可以使用,但很难阅读 在Node.js中,是否有一种简单的、独立于系统的方式将文

在Node.js中,当我想将文件的行读入数组时,我会:

fs.readFileSync(filename).split('\r\n')
但这在Linux上不起作用。在Linux上,我可以做到:

fs.readFileSync(filename).split('\n')
但这在Windows上不起作用。我还可以做:

fs.readFileSync(filename).split(/[\r\n]+/)
这两种系统都可以使用,但很难阅读


在Node.js中,是否有一种简单的、独立于系统的方式将文件读入一系列行中

您可以使用常量来满足以下需求:

var nl = require('os').EOL;
所以它看起来像:

var nl = require('os').EOL;
fs.readFileSync(filename).split(nl);
或者您可以只使用RegExp:

fs.readFileSync(filename).split(/\r?\n/)

您可以使用常量来满足以下需要:

var nl = require('os').EOL;
所以它看起来像:

var nl = require('os').EOL;
fs.readFileSync(filename).split(nl);
或者您可以只使用RegExp:

fs.readFileSync(filename).split(/\r?\n/)

但它不能保证它能一直工作,尤其是当文件或数据在不同的操作系统上交叉传输时。所以第二种选择会更稳定。但是,如果您知道数据不会经常四处传播,那么第一种选择是很好的,但它不能保证它始终工作,特别是当文件或数据在不同的操作系统上交叉传输时。所以第二种选择会更稳定。但是,如果您知道数据不会四处传播,那么第一种选择是很好的。