以独立于系统的方式将文件读入一行数组
在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/)