관리 메뉴

프로그래밍 삽질 중

[JS - node.js] fs를 사용해 파일 생성 및 리스트 출력 본문

과거 프로그래밍 자료들/Javascript&typescript

[JS - node.js] fs를 사용해 파일 생성 및 리스트 출력

평부 2021. 12. 13. 23:04
 

* 초보자를 위한 Node.js 200제 - 김경록, 정지현 지음 중급 내용(이하 노드 200제) 참고

 

* 활용 123 ~ 활용 128 예제를 코드 그대로 입력 시 

'TypeError [ERR_INVALID_CALLBACK]: Callback must be a function. Received undefined' 발생

-> 활용 124, 125, 128은 오류 발생나지 않음

-> callback 시 예외사항을 만들지 않았기 때문

-> function(error)로 예외사항 통일 (뒷 부분을 추가하면 됨)

-> 참고 블로그 1 : https://3dmpengines.tistory.com/1971

-> 참고 블로그 2 : https://edu.goorm.io/learn/lecture/557/%ED%95%9C-%EB%88%88%EC%97%90-%EB%81%9D%EB%82%B4%EB%8A%94-node-js/lesson/174361/file-system-%EB%AA%A8%EB%93%88 

 

 

 

* 활용 129 파일 리스트 출력하기 경우 기존 코드 입력 시 폴더 내 파일이 출력되지 않음

-> 기존코드(회색표시) 수정 및 블로그 참고

-> 참고 블로그 : https://riucc.tistory.com/m/476?category=754793

 

[활용 123 p.234]

1
2
3
4
5
6
const fs2 = require('fs');
 
const contents = 'hello this is test!';
fs.writeFile('./message.txt', contents, 'utf-8'function(error) { //function(error) 추가해야 함
    console.log('write end!');
});
cs

 

 

 

[활용 126 p.236]

1
2
3
4
5
6
7
8
9
10
const fs = require('fs');
 
fs.readFile('./node/Applications/message.txt', (err, data) => {
    if(err) throw err;
    let contents = data.toString();
    contents = 'replaced test file';
    fs.writeFile('./nmessage.txt', contents, 'utf-8'function(error) { //function(error) 추가 
        console.log('replace end!');
    });
})
cs

 

 

 

[활용 127 p.238]

1
2
3
4
5
6
7
const fs = require('fs');
 
const list = [12345];
 
list.forEach(item => fs.appendFile('./node/Applications/chapters.txt', `chapter ${item}\n`, function(error) {
    console.log('write end!');
}));
cs

 

 

 

[활용 129 p.241]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const testFolder = './node/Applications/';
const fs = require('fs');
 
//기존 코드 부분
// const filenameList = fs.readFileSync(testFolder);
 
// filenameList.forEach((fileName) => {
//     console.log(fileName);
// })
 
fs.readdir(testFolder, function(err, filelist){  // 배열 형태로 출력
    console.log(filelist);
});
 
fs.readdir(testFolder, (err, filelist) => { // 하나의 데이터씩 나누어 출력
    filelist.forEach(file => {
        console.log(file);
    })
 
});
cs