7-文件操作注意事项

路径问题

var fs=require('fs');

fs.readFile('./hello.txt',function (err,data) {
    if(err){
        throw err;
    }
    console.log(data.toString('utf8'))
 });
 
    此处的 ./ 是相对路径 相对的是执行node命令的路径
	而不是相对于正在执行的这个js文件来查找hello.txt
	例如 在cmd中 进入到该文件路径下 执行: node 文件名; 结果正确执行
	若切换到其他盘符下面 执行: node 文件路径; 结果不能正确执行
	在哪个盘符下面执行命令 就会在哪个盘符下面寻找文件名

解决办法

使用  __dirname 表示当前正在执行的js文件目录
     __filename 表示当前正在执行的js文件的完整路径 即包含文件名

console.log(__dirname) //G:\study\node\day1
console.log(__filename) //G:\study\node\day1\9-1 文件操作注意事项.js

使用方法

var fs=require('fs');

var filename=__dirname+'\\'+'hello.txt'
//不同操作系统下路径中斜杠方向不一样
//linux uinux系统下 __dirname+'//'+'hello.txt'

fs.readFile(filename,function (err,data) {
    if(err){
        throw err;
    }
    console.log(data.toString('utf8'))
});

猜你喜欢

转载自blog.csdn.net/MDZZ___/article/details/91375809