以与系统无关的方式将文件读入行数组

时间:2013-07-24 07:43:54

标签: 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中的行数组?

1 个答案:

答案 0 :(得分:4)

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

var nl = require('os').EOL;

所以它看起来像:

var nl = require('os').EOL;
fs.readFileSync(filename).split(nl);

或者您只能使用RegExp:

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