반응형
fs.rename(oldPath, newPath, callback)
oldPath는 파일명을 변경하고 싶은 파일의 경로를
newPath에는 변경하고 싶은 새로운 파일명을 담은 경로를
callback에서는 에러를 핸들링할 수 있습니다.
const fs = require("fs");
fs.rename("./one.txt", "./two.txt", (err) => {
console.error(err);
});
위의 예제는 oldPath 인자 자리에 './one.txt' 를 두번째로 newPath인자로 './two.txt'를 넣어준 후 에러를 콘솔에 출력하는 콜백 함수를 인자로 넘겨주었습니다. 이 경우 'one.txt'라는 파일의 파일명은 이 fs.rename을 실행 후에 'two.txt'라는 파일명으로 변경됩니다.
fsPromises.rename(oldPath, newPath)
oldPath에 파일명을 변경하고 싶은 파일의 경로를
newPath에 변경할 새로운 파일명을 담은 경로를 넣어주면 됩니다.
const fs = require("fs");
fs.promises
.rename("./one-file.txt", "./two-file.txt")
.then(() => console.log("Done."))
.catch(console.error);
파일명 변경을 비동기로 동작시키는 fs.promises는 Promise 객체를 사용 시 처럼 파일명이 성공적으로 변경되었을 경우(then)에 시행할 동작이나 에러가 났을 경우(catch)에 처리할 동작을 정할 수 있습니다.
위의 예제는 파일명을 변경 성공 시 콘솔에 "Done."을 출력하고 에러가 발생할 경우 콘솔 에러를 출력하도록 구현되었습니다.
fs.renameSync(oldPath, newPath)
oldPath에 파일명을 변경하고 싶은 파일의 경로를
newPath에 변경할 새로운 파일명을 담은 경로를 넣어주면 됩니다.
try {
fs.renameSync("./one.txt", "./two.txt");
} catch (err) {
console.error(err);
}
이름에 sync를 포함한 것에서 보이듯 파일명을 동기적으로 변경하는 작업을 수행합니다. (try) 파일명 변경을 수행하고
(catch) 에러 발생 시 에러를 핸들링합니다.
반응형
'백엔드 > Node.js' 카테고리의 다른 글
zsh: command not found: nodemon 해결하기 (0) | 2024.03.17 |
---|---|
[Node.js] Buffer란? / Buffer.alloc, Buffer.allocUnsafe, Buffer.from (0) | 2023.03.13 |
[Node.js / Javascript] console에 대하여 - console 종류 (0) | 2023.02.21 |
[Node.js] Global object - __dirname, __filename, exports, module, require (0) | 2022.08.22 |