@langlibaitiao
2017-04-13T17:56:47.000000Z
字数 1414
阅读 5215
__dirname: 当前所在的文件的路径
__filename: 当前所在的文件的全路径+当前的文件名
首先创建一个readFile文件夹,readFile文件夹下再创建一个info文件夹和一个getFile.js文件,然后info文件夹下创建info.js, infoSync.js, readFile.js文件,代码如下展示。
在readFile文件夹下打开cmd命令行窗口,输入命令 node getFile.js
就会执行readFile.js并读取info.js和infoSync.j两个文件。
2.1 info.js代码:
console.log("我是异步读取内容");
2.2 infoSync.js代码:
console.log("我是同步读取内容");
2.2 readFile.js代码:
//引入fs模块,直接用名字的方式引入
var fs = require('fs');
//读文件的方法
//第一个参数是路径
//第二个参数使用utf8的编码格式
//第三个参数是回调函数,回调函数中有两个参数
//1. err 错误对象
//2. data 是数据
var readFile = function(){
//异步写法
fs.readFile(__dirname + '/info.js', "utf8", function(err, data){
console.log(data);
});
//同步的写法 比异步的多写一个Sync,返回的是文件的内容
var dataSync = fs.readFileSync(__dirname + '/infoSync.js', "utf8");
console.log(dataSync);
}
module.exports = readfile;
2.4 getFile.js代码:
//加载readFile.js文件
var readFile = require('./info/readFile.js');
readFile();
3.1 代码演示
console.log("读取开始");
//引入fs模块,直接用名字的方式引入
var fs = require('fs');
fs.readFile('./info.js', "utf8", function(err, data){
//抛出错误
if (err) throw err;
//源码分析
//1 err存在,若不抛出err,data是undefined
//2 data若存在,err为num
console.log(data);
});
//同步的写法 比异步的多写一个Sync,返回的是文件的内容
var dataSync = fs.readFileSync('./infoSync.js', "utf8")
//如果出现异常(比如路径错误),就不会执行返回文件内容这步操作
console.log(dataSync);
console.log("读取结束");
3.2 异步读取下结果:
读取开始
读取结束
读取的info.js文件内容3.3 同步读取下结果:
读取开始
读取的info.js文件内容
读取结束
友情链接[nodejs官方文档]