nodejs 获取系统对应的换行符 EOL
最近在做一个工具,需要处理不同平台的文件,通过换行符把文件拆分成小块。
这样就会遇到一个问题:不同平台的换行符是不一样的,比如 windows 是 \r\n
macOS 是 \n
不正确的解决方法
我刚开始的解决方法是,获取平台的名字,然后手动定义不同平台的换行符:如下
// 根据系统返回对应文件系统的换行符
function getReturnSymbol(){
switch (os.platform()){
case 'linux':
case 'darwin': return '\n' // macOS
case 'win32': return '\r\n' // windows
case 'aix':
case 'freebsd':
case 'openbsd':
case 'sunos':
default: return '\n'
}
}
正确的解决方法
后来看 nodejs
API 的时候无意中看到 os
中有个 EOL
(end of line)这个东西返回对应系统的换行符
所以直接使用 os.EOL
就可以了
nodeJS os.EOL 官方API