基础文件操作
-
读文件demo
const fs = require('fs'); const path = require('path'); const fileName = path.resolve(__dirname, 'data.log'); fs.readFile(fileName, (err, data) => { if (err) { console.error(err); return; } // data是buffer二进制数据,需要转换为字符串 console.log(data.toString()); });
- 上面这种读文件的方式会将读取的文件( data.log )中的数据全部存放在data中
- 如果data.log过大,则和server端节省内存和CPU的核心理念相违背
-
写文件demo
const fs = require('fs'); const path = require('path'); const fileName = path.resolve(__dirname, 'data.log'); const appendContent = '这是新写入的内容'; // 定义写入方式为追加写入,覆盖写入用 'w' const option = { flag: 'a' } fs.writeFile(fileName, appendContent, option, (err) => { if (err) { console.error(err) } });
- 频繁执行写文件操作十分耗费性能
- 如果一次性写入的内容过大,nodejs进程也吃不消
-
判断文件是否存在demo
const fs = require('fs'); const path = require('path'); const fileName = path.resolve(__dirname, 'data.log'); fs.exixts(fileName, (isExist) => { console.log(isExist); });