node.js学习笔记

node.js常用的几种方法
常规文件写入
// fs 是node.js的内置模块,可以对计算机的文件进行增删改
// 引入fs模块
const fs = require('fs');
// 调用fs中的方法 write 写入文件
// 在当前文件目录下写入 一个index.html文件
//\r\n表示换行
//{flag:'a'} 表示保存当前文件
 fs.writeFile('./index.html','优雅,用不过时\r\n',{flag:'a'}, function(err){
    //  err为一个错误对象,错误是为true
    if(err) {
        console.log('错误');
    }else{
        console.log('写入成功');
    }
 })
 //练习
let data = {
    name:'lili',
    number: 123,
    form: 'changsha'
};
// 把数据转换成json格式
let str = JSON.stringify(data)
// 把对象写入d盘中
let fs = require('fs');
// 异步api
/* fs.writeFile('d:/data.json',str,function(err){
    if(err){
        console.log('写入失败'); return;

    }
    console.log('写入成功');
}); */
// 同步api
fs.writeFileSync('./app.css','*{margin = 0,padding= 0}');
写入流写入文件
// 引入fs模块
let fs = require('fs');
// 创建写入流对象
const ws = fs.createWriteStream('./index.js');
// 执行写入
/* ws.write('<html>')
ws.write('</html>') */
ws.write(`
  let body = document.body;
  body.style.background = 'pink';
`)
// 当我们需要简单写入文件较少时使用writeFile(),批量写入时使用createwriteStream 
文件的读取
// 引入fs模块
let fs = require('fs');
// 读取文件
// 异步api
 /* fs.readFile('./index.js',(err,data) =>{
    if(err){
        console.log('读取失败');
        console.log('失败的对象为'+err);
        return;
    }
    console.log('读取成功');
    //读取出来的是buff文件 调用toString进行转换
    console.log(data.toString());
}) */
//同步api 读取内容直接返回
let result = fs.readFileSync('./home.html');
console.log(result.toString());
//对json文件的读取
//引入fs模块
let fs = require('fs');
const str = fs.readFile('./data.json',(err,data)=>{
     if(err) throw err;
    //  console.log(data.toString());
     //将json形式的文件转换为对象
     const JSONdata = JSON.parse(data.toString());
     console.log(JSONdata);
})
流式文件的读取
// 引入fs模块
let fs = require('fs');
// 创建读取对象
const ws = fs.createReadStream('./index.html')
// 绑定事件 
// chunk 块的意思 当读取完一块数据后
ws.on('data',(chunk)=>{
    console.log(chunk.toString());
});
ws.on('open',()=>{
    console.log('读取流时打开');
})
// 当读取小文件时用readFlie ,大文件时用流式读取
流式文件的复制
// 引入fs模块
let fs = require('fs');
// 流式读取和流式写入
let ws = fs.createWriteStream('./css.html');
let re = fs.createReadStream('./index.html');

// 流式读取文件需要绑定事件
re.on('data',chunk =>{
    
    ws.write(chunk);
})
文件的移动与重命名
// 引用fs模块
let fs = require('fs');
// 文件重命名 rename(原文件名,修改后的文件名)
/* fs.rename('./index.html','./app.html',(err)=>{
    if(err) throw err;
    console.log('修改成功');
}) */
// 文件已经重命名 进行移动
fs.rename('./app.html','./file/index.html',(err)=>{
    if(err) throw err;
    console.log('移动成功');
})
删除文件
// 引入fs模块
let fs = require('fs');
// 异步api
/* fs.unlink('./file/index.html',err=>{
    if(err) throw err;
    console.log('删除成功');
}) */
// 同步api
fs.unlinkSync('./css.html');
文件夹的操作
// 引入fs模块
let fs = require('fs');
// 创建文件夹
/* fs.mkdir('./project',err=>{
    if(err) throw err;
    console.log('创建成功');
}) */
// 访问文件夹 俩个参数,err files文件夹的目录
/* fs.readdir('./file',(err,files) =>{
    if(err) throw err;
    console.log(files);
})
fs.readdir('d:/',(err,files) =>{
    if(err) throw err;
    console.log(files);
}) */
// 删除文件夹
/* fs.rmdir('./project',err => {
    console.log('删除成功');
}) */
// 文件夹不为空不能进行删除

/* fs.rmdir('./file',err => {
    console.log(err);
}) */
fs.rmdir('./file',{recursive:true},err => {
    console.log(err);
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值