赞
踩
文件操作模块
使用方法
加载模块
// 引入模块,引入模块的时候,可以使用var、let,但是建议使用const,因为我们不希望它改变
const fs = require('fs');
调用fs模块的方法,下面列举fs模块中的常用方法
API | 作用 | 备注 |
---|---|---|
fs.access(path, callback) | 判断路径是否存在 | |
fs.appendFile(file, data, callback) | 向文件中追加内容 | |
fs.copyFile(src, callback) | 复制文件 | |
fs.mkdir(path, callback) | 创建目录 | |
fs.readDir(path, callback) | 读取目录列表 | |
fs.rename(oldPath, newPath, callback) | 重命名文件/目录 | |
fs.rmdir(path, callback) | 删除目录 | 只能删除空目录 |
fs.stat(path, callback) | 获取文件/目录信息 | |
fs.unlink(path, callback) | 删除文件 | |
fs.watch(filename[, options][, listener]) | 监视文件/目录 | |
fs.watchFile(filename[, options], listener) | 监视文件 |
fs模块-效果
新建文件 test.txt
hello world
同层级目录中,新建如下文件
示例01、fs模块.js
// fs 就是文件系统,所以fs模块的API都和文件或目录相关 const fs = require('fs'); // 调用fs的方法 // 1. readFile -- 异步读取文件 /** * fs.readFile('被读取的文件路径', [utf-8], (err, data) => { * err : 表示错误信息,如果没有错误,err的值是null * data: data就是读取的结果 * }); */ fs.readFile('test.txt', (err, data) => { if (err) { // 说明有错误发生 console.log(err); } else { console.log(data); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64> console.log(data.toString()); // hello world 等价下方 } }); fs.readFile('./test.txt', 'utf-8', (err, data) => { if (err) { // 说明有错误发生 console.log(err); } else { console.log(data); // hello world 等价上方 } });
新建文件 abc.txt
nice to meet you
同层级目录中,新建如下文件
示例02、fs模块.js
const fs = require('fs'); // fs.writeFile() -- 异步写入文件(会覆盖掉文件中原有的内容;如果文件不存在,会自动创建文件) /** * fs.writeFile('文件路径', '写入的内容', (err) => { * err : 错误信息,如果没有错误,err的值为null * }); */ fs.writeFile('./abc.txt', 'hello你好', (err) => { if (err) { console.log(err); } else { console.log('写入成功') } }); fs.writeFile('./abc.txt', 'nice to meet you', (err) => { // 如果有错误,则输出错误信息,并终止程序执行 if (err) { // 写法一 console.log(err); return } if (err) { // 写法二 return console.log(err); } if (err) return console.log(err); // 写法三 // 如果没有错误,不能进入上面的if区间,输出 “写入成功” console.log('写入成功'); }); fs.writeFile('./abc.txt', 'nice to meet you', (err) => { // 如果有错误,则输出(抛出)错误信息,并终止程序执行 if (err) throw err; // 写法四 // 如果没有错误,不能进入上面的if区间,输出 “写入成功” console.log('写入成功'); });
1
// readFile -- 异步读取文件 /** * fs.readFile('被读取的文件路径', [utf-8], (err, data) => { * err : 表示错误信息,如果没有错误,err的值是null * data: data就是读取的结果 * }); */ // fs.readFile('test.txt', (err, data) => { // if (err) { // // 说明有错误发生 // console.log(err); // } else { // console.log(data); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64> // console.log(data.toString()); // hello world // } // }); fs.readFile('./test.txt', 'utf-8', (err, data) => { if (err) { // 说明有错误发生 console.log(err); } else { console.log(data); // hello world } });
2
// writeFile -- 异步写入文件 /** * fs.writeFile('文件路径', '写入的内容', (err) => { * err : 错误信息,如果没有错误,err的值为null * }); */ // fs.writeFile('./abc.txt', 'hello你好', (err) => { // if (err) { // console.log(err); // } else { // console.log('写入成功') // } // }); /* fs.writeFile('./abc.txt', 'nice to meet you', (err) => { // 如果有错误,则输出错误信息,并终止程序执行 if (err) return console.log(err); // 如果没有错误,不能进入上面的if区间,输出 “写入成功” console.log('写入成功'); }); */ fs.writeFile('./abc.txt', 'nice to meet you', (err) => { // 如果有错误,则输出(抛出)错误信息,并终止程序执行 if (err) throw err; // 如果没有错误,不能进入上面的if区间,输出 “写入成功” console.log('写入成功'); }); ``` ('./abc.txt', 'nice to meet you', (err) => { // 如果有错误,则输出(抛出)错误信息,并终止程序执行 if (err) throw err; // 如果没有错误,不能进入上面的if区间,输出 “写入成功” console.log('写入成功'); });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。