매개변수 액세스
다음 내용을 포함하는 배열인 process.argv를 통해 명령줄 매개변수에 액세스할 수 있습니다.
[ nodeBinary, script, arg0, arg1, ... ]
즉, 첫 번째 매개변수는 process.argv[2]에서 시작하며 다음과 같이 모든 매개변수를 반복할 수 있습니다.
process.argv.slice(2).forEach(function (fileName) {
...
})
더 복잡한 매개변수 처리를 원할 경우 Node.js 모듈 nomnom 및 옵티마이저를 살펴보세요. 아래에서는 파일 시스템 모듈을 여러 번 사용할 것입니다.
var fs = require('fs')
텍스트 파일 하나 읽기
파일이 그다지 크지 않은 경우 전체 파일을 메모리로 읽어서 문자열에 넣을 수 있습니다.
var text = fs.readFileSync(fileName, "utf8")
그러면 분할할 수 있습니다. 이 텍스트를 한 줄로
text.split(/r?n /).forEach(function (line) {
// ...
})
대용량 파일의 경우 스트림을 사용할 수 있습니다. 모든 line.mtomis를 반복하려면 Stack Overflow에
Write a text file
fs를 통해 전체 내용을 파일에 쓸 수 있습니다. writeFileSync(fileName, str , 'utf8')
또는 스트림에 증분식으로 문자열을 쓸 수 있습니다.
var out = fs.createWriteStream(fileName, { 인코딩: "utf8" })
out.write(str); ( ); // 현재 destroy() 및 destroySoon()과 동일합니다.
크로스 플랫폼 고려 사항
줄 종결자를 결정합니다.
해결 방법 1: 기존 파일을 읽습니다. 문자열로 이동하여 "rn"을 검색하고 찾을 수 없으면 줄 종결자가 "n"인지 확인합니다.
var EOL = fileContents.indexOf("rn") >= 0 ? "rn" : "n"
해결 방법 2: 탐지 시스템 플랫폼. 모든 Windows 플랫폼은 64비트 시스템뿐만 아니라 "win32"를 반환합니다.
var EOL = (process.platform === 'win32' ? 'rn' : 'n')
경로 처리
파일 시스템 경로를 처리할 때 경로 모듈을 사용할 수 있습니다. 이렇게 하면 올바른 PATH 구분 기호가 사용됩니다(Unix에서는 "/", Windows에서는 ""). 🎜>코드 복사