NodeJS中fs模块的同异步读写文件内容以及解析url模块

fs模块

  • 文件: .txt、 .html、 .php、 .js、 .json…
  • 读取: 获取文件的内容
  • 写入: 给文件写入内容

文件的读取与写入又分为同步和异步两种形式

同步和异步的区别

同步:阻塞,当前事情没有做完之前不能再去做其他的事情
    var a = 10;
    var b = 20;
    for(var i=0;i<10;i++){
       console.log(i);
    } 
    console.log(a + b);

异步:非阻塞,当前事情没有时可以去做其他的事情
    var a = 10;
    var b = 20;
    setTimeout(function(){
       for(var i=0;i<10;i++){
          console.log(i);
       }
    },3000) 
    console.log(a + b);
异步读取文件内容 --- readFile() 
    //引入fs模块
    var fs = require("fs");  
    //调用readFile("文件的路径","字符编码",回调函数)
    fs.readFile("./data.txt","utf8",function(err,data){
	if(!err){
	   //打印读取的内容
	   console.log(data)
	}
    });

同步读取文件 --- readFileSync()
    var fs = require("fs");
    var data;     //data用来保存读取到的文件的内容
    try{
       data = fs.readFileSync("./data.txt","utf8")
    }catch(err){
       console.log(err)
    }
    console.log(data)
异步文件写入 --- writeFile()
    PS:以下代码,如果文件不存在,则创建文件;如果文件存在,则覆盖文件内容;
    //引入fs模块 
    var fs = require("fs");
    //给文件写入数据,文件的地址  写入的数据   字符编码    回调函数
    fs.writeFile("./b.txt","异步文件写入","utf8",function(err){
       if(!err){
          console.log("写入成功");
       }
    })
同步文件写入 ---  writeFileSync()  
    //引入fs模块
    var fs = require("fs");
    try{
       //同步写入
       fs.writeFileSync("./b.txt","同步文件写入","utf8");
 	  console.log("写入成功");    
     }catch(err){
	  console.log(err)
     }



url模块

//引入url模块,通过url解析路径
var url = require("url");

实例:
var url = require("url");
var path = "/write?name=jack&password=123456";
console.log(url.parse(path));    //解析路径
console.log(url.parse(path).pathname);   //解析路径
console.log(url.parse(path).query,true);     //解析前台以get形式发送的数据,加true,将解析到字符类型自动转化为对象形式
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Node.js ,`fs` 模块是用于与文件系统进行交互的核心模块之一。`fs` 模块提供了一系列的 API,用于读取、写入、删除和修改文件文件夹。 以下是 `fs` 模块一些常用的方法: - `fs.readFile(path[, options], callback)`: 异步读取文件的全部内容。参数 `path` 是文件的路径,`options` 是一个可选对象,用于指定编码方式等选项,`callback` 是读取完成后的回调函数,其第一个参数是错误对象,第二个参数是读取的文件内容。 - `fs.writeFile(file, data[, options], callback)`: 异步写入文件。参数 `file` 是写入的文件路径,`data` 是要写入的数据,`options` 是一个可选对象,用于指定编码方式等选项,`callback` 是写入完成后的回调函数,其第一个参数是错误对象。 - `fs.existsSync(path)`: 判断指定路径的文件或目录是否存在,返回一个 Boolean 值。 - `fs.mkdir(path[, options], callback)`: 异步创建目录。参数 `path` 是要创建的目录路径,`options` 是一个可选对象,用于指定文件夹的权限等选项,`callback` 是创建完成后的回调函数,其第一个参数是错误对象。 - `fs.rmdir(path, callback)`: 异步删除目录。参数 `path` 是要删除的目录路径,`callback` 是删除完成后的回调函数,其第一个参数是错误对象。 - `fs.readdir(path[, options], callback)`: 异步读取目录下的文件列表。参数 `path` 是目录的路径,`options` 是一个可选对象,用于指定读取目录的编码方式等选项,`callback` 是读取完成后的回调函数,其第一个参数是错误对象,第二个参数是目录下的文件列表数组。 - `fs.stat(path, callback)`: 异步获取文件或目录的状态信息。参数 `path` 是文件或目录的路径,`callback` 是获取完成后的回调函数,其第一个参数是错误对象,第二个参数是包含状态信息的对象。 除了以上提到的方法,`fs` 模块还提供了很多其他的方法,如改名、截断文件、添加文件到缓存等等。需要使用时可以查阅 Node.js 官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值