[node.js总结]

news/2024/11/15 19:58:45/

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')


http://www.ppmy.cn/news/717149.html

相关文章

java学生宿舍管理系统

学生宿舍管理系统 java swing宿舍管理系统 java学生宿舍管理系统 技术: 基于javamysql学生宿舍管理系统的设计与实现 运行环境: JAVA版本:JDK1.8 IDE类型:IDEA、Eclipse都可运行 数据库类型:MySql(8.x…

新生儿喝奶后不要马上放回床上睡觉,为宝宝健康着想,先做1件事

看到一个问题,题主问,新生儿喝完奶能马上放回床上睡觉吗?可以吗?也许每个人都认为照顾新生儿是一件非常简单的事情,因为新生儿几乎整天都在睡觉。当他们饿的时候,他们会让他们的宝宝吃牛奶。他们吃饱了就要…

美德乐吸奶器怎么样-

美德乐吸奶器中国官网地址为:http://medela.wang,旨在为中国妈妈提供关于美德乐吸奶器产品介绍,美德乐吸奶器售后服务。经过几十年躬耕和发展。美德乐已经赢得了中国妈妈的信赖,下面让我们来看一下妈妈们对美德乐产品的评价。 作为…

Mybatis怎么实现批量插入的

测试表USER_INFO结构&#xff1a; 目前表中是无数据的。 测试xml&#xff1a; <insert id"insertList">insert into user_info(id,user_name,age)values<foreach collection"list" item"item" separator",">(#{item.id},#…

MyBatis使用Foreach批量插入数据

## MySQL批量插入(效率较低) <insert id"saveBatch"><foreach collection"list" item"item" separator";">INSERT INTO student(name, age, id)VALUES(#{item.name},#{item.age},#{item.id})</foreach> </insert…

hibernate存取图片示例

一般网站在处理用户上传图片时通常采用两种策略&#xff1a;一是直接把图片存入数据库中的Blob字段&#xff1b;二是数据库中只存储图片的在服务器上的路径信息 &#xff0c;图片存放在分门别类的文件中&#xff0c;使用的时候从数据库读取路径信息到页面img元素即可&#xff0…

MyBatis使用foreach批量插入,foreach套查询

目录跳转 需求场景我跳进去的坑解决方式方法一方法二 重点(也不是) 需求场景 我需要批量list写入数据到info_notice表格&#xff0c;写入的数据中有一个属性是来之user_info表格。我用foreach去写批量插入&#xff0c;但是在服务层我又不想根据批量写入的数据list去查询每一个…

mybatis之批量插入

通过动态SQL方式实现 通过动态SQL方式&#xff0c;Executor的类型不需要特别设置&#xff0c;用默认的SIMPLE就可以。 具体步骤如下&#xff1a; 第一步&#xff1a;定义Mapper映射文件和接口类 映射文件中定义动态SQL语句 <insert id"insertBatch" parameter…