node----基础(文件和服务)

1.对文件开始操作前先引入node模块:

 const fs=require('fs') //引入fs模块

2.fs.stat -----检测是文件还是目录
eg:

fs.stat("./html", (err, data) => {
  if (err) {
    console.log(err);
    return;
  }

  console.log(`是文件:${data.isFile()}`);
  console.log(`是目录:${data.isDirectory()}`);
});

3.fs.writeFile ----创建写入文件

fs.writeFile("./html/index.html", "hello", (err) => {//第一个参数写入的文件,第二个是内容
  if (err) {
    console.log(err);
    return;
  }
  console.log("创建写入文件成功");
});

4.fs.mkdir --------创建目录

fs.mkdir("./css", (err) => {
  if (err) {
    console.log(err);
    return;
  } else {
    console.log("success");
  }
});

5.fs.appendFile ------------加文件

fs.appendFile("./html/index.html", "wait wait wait\n", (err) => {   if (err) {
    console.log(err);
    return;   }   console.log("appendFile成功"); });

6.fs.readFile --------读取文件

fs.readFile("./html/index.html", (err, data) => {
  if (err) {
    console.log(err);
    return;
  }
  console.log(data); //data是Buffer类型数据
  console.log(data.toString()); //通过toString()转换成字符串
});

7.fs.readdir------- 读取目录

fs.readdir("./html", (err, data) => {
  if (err) {
    console.log(err);
    return;
  }
  console.log(data); //文件信息
});

8.fs.rename -------重命名

fs.rename("./html/style.css", "./html/jjj.css", (err) => {
  if (err) {
    console.log(err);
    return;
  }
  console.log("重命名成功");
});

fs.rename("./html/jjj.css", "./style.css", (err) => {
  if (err) {
    console.log(err);
    return;
  }
  console.log("移动并且修改文件名成功");
});

9.fs.rmdir------- 删除目录

fs.rmdir("./delete", (err) => {
  if (err) {
    console.log(err);
    return;
  }
  //如果目录下有文件,则无法删除,需要先删除文件,再删除目录
  console.log("删除目录成功");
});

10.fs.unlink---- 删除文件

fs.unlink("./delete/delete.html", (err) => {
  if (err) {
    console.log(err);
    return;
  }
  console.log("删除文件成功");
});

11.fs.createReadStream---------- 以文件流方式读取数据

let readStream = fs.createReadStream("./html/index.html");
let count = 0;
let str = "";
readStream.on("data", (data) => {
  str += data;
  count++;
});
readStream.on("end", () => {
  console.log(str);
  console.log(count);
});
readStream.on("error", (err) => {
  console.log(err);
});

12.fs.createWriteStream -------以流的方式写入文件

let str = "";
let data = "ashdjhdaksjdhakdaskjdkasdaajsdka\n";
for (let i = 0; i < 500; i++) {
  str += data;
}
var writeStream = fs.createWriteStream("./html/write.txt");
writeStream.write(str);
writeStream.end();
writeStream.on("finish", () => {
  console.log("写入完成");
});

13.管道流------- 用于复制大文件

let readStream = fs.createReadStream("./html/write.txt");
let writeStream = fs.createWriteStream("./root/write.txt");
readStream.pipe(writeStream);

13.完整的node服务
eg:

//http模块
var http = require("http");
//引入http模块
var fs = require("fs");
//引入fs文件模块
var server = http.createServer();
//创建http服务
server.on("request",(req,res)=>{
//监听请求
	if(req.url == "/index.html"){
	//当地址为index。html时
		fs.readFile('index.html',(err,data)=>{
		//加载页面
			res.end(data.toString())	
		})
	}else if(req.url == "/login.html"){
	//当地址为login。html时
		fs.readFile('login.html',(err,data)=>{
		//加载页面
			res.end(data.toString())
		})
	}
})
server.listen(3000)//设定端口号
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值