[node.js总结]

目录

fs模块

//写入文件

//异步写入文件

//同步写入

//文件追加

//文件追加写入

//同步追加

//writeFile追加

//文件流式写入

//读取文件

//异步读取

//同步读取

//文件流式读取

//文件复制

//方式一readFile

//方式二流式操作

//文件的重命名和移动

//文件的删除

//调用unlink方法

//调用rm方法

//文件夹操作

//创建文件夹mkdir

//递归创建

//读取文件夹

//删除文件夹

//删除递归文件夹(不建议使用)

//建议使用

//查看资源状态

//stat 方法 status缩写状态

注意://__dirname,不会根据工作目录的变化而变化

path模块

http模块


fs模块

//写入文件

//异步写入文件

const fs=require("fs");

fs.writeFile("1.txt","温故而知新",err=>{

if(err){

console.log("写入失败");

return;

}

console.log("写入成功");

});

//同步写入

fs.writeFileSync("1.txt","可以为师矣")

//文件追加

//文件追加写入

const fs=require("fs");

fs.appendFile("1.txt","温故而知新",err=>{

if(err){

console.log("写入失败");

return;

}

console.log("写入成功");

})

//同步追加

fs.appendFileSync("1.txt","可以为师矣")

//writeFile追加

fs.writeFile("1.txt","温故而知新",{flag:"a"},err=>{

if(err){

console.log("写入失败");

return;

}

console.log("写入成功");

})

//文件流式写入

//第一步导入fs

const fs=require("fs");

//第二步创建写入流对象

const ws=fs.createWriteStream("1.txt");

//第三步write

ws.write("三人行\r\n");//\r\n代表换行

ws.write("必有我师焉");

//第四步关闭(可有可无)

ws.close();

//读取文件

//异步读取

const fs=require("fs")

fs.readFile("1.txt","温故而知新",(err,data)=>{

if(err){

console.log("写入失败");

return;

}

console.log(data.tostring());//把Buffer转换为字符串

})

//同步读取

let data=fs.readFileSync("1.txt","可以为师矣")

console.log(data.tostring())

//文件流式读取

//第一步导入fs

const fs=require("fs");

//第二步//创建写入流对象

const rs=fs.createReadStream("1.txt");

//第三步绑定data事件 chunk块

rs.on("data",chunk=>{

console.log(chunk.length);

})

//第四步关闭(可有可无)

rs.on("end",()=>{

console.log("读取完成");

})

//文件复制

//方式一readFile

const fd=require("fs");

let data=fs.readFileSync("1.txt");

fs.writeFileSync("12.txt",data);

//方式二流式操作

const fd=require("fs");

let rs=fs.createReadStream("1.txt");

const ws=fs.createWriteStream("12.txt");

//绑定data事件

rs.on("data",chunk=>{

ws.write(chunk)})

//文件的重命名和移动

fs.rename("1.txt","2.txt",err=>{

if(err){

console.log("操作失败");

return;

}

console.log("操作成功");

})

//文件的删除

const fs=require("fs");

//调用unlink方法

fs.unlink("1.txt",err=>{

if(err){

console.log("删除失败");

return;

}

console.log("删除成功");

});

//调用rm方法

fs.rm("1.txt",err=>{

if(err){

console.log("删除失败");

return;

}

console.log("删除成功");

});

//文件夹操作

const fs=require("fs");

//创建文件夹mkdir

fs.mkdir("1.txt",err=>{

if(err){

console.log("创建失败");

return;

}

console.log("创建成功");

});

//递归创建

fs.mkdir("./a/b/c",{recursive:true},err=>{

if(err){

console.log("创建失败");

return;

}

console.log("创建成功");

})

//读取文件夹

const fs=require("fs")

fs.readdir("./",(err,data)=>{

if(err){

console.log("读取失败");

return;

}

console.log(data);

});

//删除文件夹

fs.rmdir(./html,err=>{

if(err){

console.log("删除失败");

return;

}

console.log(删除成功);

});

//删除递归文件夹(不建议使用)

fs.rmdir(./a,{recursive:true},err=>{

if(err){

console.log("删除失败");

return;

}

console.log(删除成功);

});

//建议使用

fs.rm(./a,{recursive:true},err=>{

if(err){

console.log("删除失败");

return;

}

console.log(删除成功);

});

//查看资源状态

//stat 方法 status缩写状态

const fs=require("fs");

fs.stat('./1.txt',(err,data)=>{

    if(err){

        console.log('操作失败');

        return;

    }

     //判断是否是文件

    console.log(data.isFile());

    //判断是否是文件夹

    console.log(data.isDirectory());

});

注意://__dirname,不会根据工作目录的变化而变化

const fs=require("fs")

fs.writeFileSync(__dirname + '/index.txt','love')

path模块

path.resolve//拼接规范的绝对路径(常用)

path.resolve(__dirname,"./index.html")

path.resolve(__dirname,"index.html")

path.resolve(__dirname,"./index.html")//这种是错误的,不要写

path.sep//获取操作系统的路径分隔符

path.parse//解析路径并返回对象

path.basename//获取路径的基础名称

path.dirname//获取路径的目录名

path.extname//获取路径的扩展名

http模块

//导入http模块

const http=require('http')

//创建服务对象

const server=http.createServer((request,response)=>{

request.method//获取请求的方法

request.url//获取请求的url

request.httpVersion//获取http协议的版本号

request.headers.host//获取http的请求头

//获取请求体

//1.声明一个变量

let body=''

//2.绑定data事件

request.on('data',chunk=>{

body+=chunk})

//3.绑定end事件

request.on('end',()=>{

console.log(body)

})

response.end('http')//设置响应体

})

//监听端口,启动服务

server.listen(9000,()=>{

console.log('服务已经启动、、、')

})

//获取请求路径和查询字符串

const http=require('http')

const server=http.createServer((request,response)=>{

let url=new URL(request.url,'http://127.0.0.1')

//防止乱码

response.setHeader('contentˉtype','text/html;charset=utf-8')

//输出路径

console.log(url.pathname)

//输出keyword查询字符串

console.log(url.searchParams.get('keyword'))

response.end('url new')

})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王猫粮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值