(五)nodejs文件读写
js浏览器端没有提供文件操作API而nodejs提供了node中文网process模板使用时不需要通过require()函数来加载该模块,可以直接使用而fs模板,在使用时必须通过require()加载,var fs=require('fs')原因,process是全局模块fs.writeFile()直接写入文件//1.加载文件操作模块...
js浏览器端没有提供文件操作API
而nodejs提供了
node中文网
process模板使用时不需要通过require()函数来加载该模块,可以直接使用
而fs模板,在使用时必须通过require()加载,var fs=require('fs')
原因,process是全局模块
fs.writeFile()直接写入文件
//1.加载文件操作模块,fs模块
var fs=require('fs');
//2.实现文件写入操作
var msg='Hello World,你好世界!';
fs.writeFile('./1.txt',msg,'utf8',function(err){
if(err){
console.log('写文件出错了!具体错误:'+err);
}
console.log('ok');
}
)
//---------实现文件读取操作
//1.加载文件操作模块,fs模块
var fs=require('fs');
//2.调用fs.readFile()方法读取文件 也是异步执行
//在读取文件时,如果传了编码utf8参数,会自动把data转换字符串
fs.readFile('./1.txt','utf8',function(err,data){
if(err){
throw err;
}
//data 参数的数据类型是一个Buffer对象,里面保存的就是一个一个的字节(理解为字节数组)
//把Buffer对象转换为字符串,调用tostring()方法 ,不传utf8参数,默认也是utf8
// console.log(data.toString('utf8'));
console.log(data);
});
// './1.txt'指的是相对路径,是相对于运行时的路径,比如文件在c盘,你在d盘执行node就会出错
所有要用绝对路径
//解决在文件读取中,./相对路径的问题
//解决: __dirname(当前正在执行的js文件所在目录)
__filename(当前正在执行的js文件完整路径) 加上文件名
这两个变量看似全局,但并非全局
(function(__dirname,__filename,x,y,,,){
j//s文件代码
})(__dirname,filename,..)
它只是本地传的一个变量,所以都可以用
//var filename=__dirname+'\\'+'1.txt'; //1.要判断前面路径是否右斜杠,2.在Linux系统是/
var filename=path.join(__dirname,'1.txt');//用path.join不需要估计上面问题
fs.mkdir('./test-mkdir',function(err){
if(err){
console.log(err)
}else{
console.log('创建成功');
}
});
err-first(错误优先)
更多推荐
所有评论(0)