node里的filesystem模块文件读写操作详解

yizhihongxing

Node.js中文件读写操作详解

在Node.js中,可以使用fs模块进行文件系统相关的操作,如文件读写、目录操作等。

读取文件

使用fs.readFile()方法可以读取文件的内容,该方法的参数为文件路径和回调函数,回调函数的参数包含了错误信息和文件内容。

示例1:读取文本文件

const fs = require('fs');

fs.readFile('./test.txt', 'utf8', function(err, data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
});

fs.readFile()方法的第一个参数是文件路径,可以是相对路径,也可以是绝对路径。在上面的例子中,文件路径为./test.txt,表示当前目录下的test.txt文件。

第二个参数表示读取文件时的编码格式,通常为'utf8',这意味着文件内容会被解析为字符串。如果不指定该参数,readFile()方法返回的是原始的二进制数据。

回调函数的第一个参数是错误信息,如果没有错误,该参数为null。当出现错误时,可以通过打印err对象来查看错误信息。

回调函数的第二个参数是文件内容。在上面的例子中,使用console.log()打印文件内容。

示例2:读取二进制文件

const fs = require('fs');

fs.readFile('./test.png', function(err, data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
});

如果读取的文件是二进制文件(如图片、音频、视频等),可以省略第二个参数。因为此时不需要指定编码格式,readFile()方法返回的是二进制数据。

写入文件

使用fs.writeFile()方法可以写入文件,该方法的参数为文件路径、写入内容和回调函数。回调函数的参数包含了错误信息。

示例3:写入文本文件

const fs = require('fs');

fs.writeFile('./test.txt', 'hello world', function(err){
  if(err){
    console.log(err);
  }else{
    console.log('文件写入成功');
  }
});

在上面的例子中,第一个参数是文件路径,表示将要写入的文件。第二个参数是写入的内容,此处为'hello world'。回调函数的参数为错误信息,如果没有错误,该参数为null

如果文件已经存在,writeFile()方法将覆盖原有的内容;如果文件不存在,writeFile()方法将创建一个新文件并写入内容。

示例4:写入二进制文件

const fs = require('fs');

fs.writeFile('./test.png', Buffer.alloc(1024), function(err){
  if(err){
    console.log(err);
  }else{
    console.log('文件写入成功');
  }
});

如果文件是二进制文件,可以使用Buffer对象作为写入的内容。上面的例子中,使用了Buffer.alloc(1024)方法创建了一个大小为1024字节的Buffer对象,表示将要写入1024字节的空数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node里的filesystem模块文件读写操作详解 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用

    下面是详细讲解“node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用”的完整攻略。 简介 在 Node.js 开发中,我们经常需要修改代码并重新启动应用来查看效果,这个过程比较繁琐,而 Node Supervisor 出现就是为了简化这个过程,它可以监控文件修改并自动重启应用,让我们专注于代码编写。 安装 在使用 Node S…

    node js 2023年6月8日
    00
  • Node.js 8 中的 util.promisify的详解

    让我来详细讲解“Node.js 8 中的 util.promisify的详解”。 1. 什么是util.promisify? 在 Node.js 8 版本中,引入了一个新的模块 util.promisify,它是一个实用工具,用于将一个返回值为 callback 的函数转换为 Promise 风格。使用 util.promisify,可以更轻松地将现有的回调…

    node js 2023年6月8日
    00
  • Node.js 文件夹目录结构创建实例代码

    下面是详细讲解“Node.js 文件夹目录结构创建实例代码”的完整攻略: 1. 基本概念 在开始创建文件夹目录结构之前,先来了解一下Node.js中常用的一些模块和概念: fs模块:用于对文件系统进行操作,例如创建目录、创建文件、读取文件、删除文件等操作; path模块:用于处理文件路径,例如获取文件名、文件扩展名、完整路径等操作; module.expor…

    node js 2023年6月8日
    00
  • 用Node.JS打造一个恶劣天气实时预警系统

    如何用Node.js打造一个恶劣天气实时预警系统? 选择合适的天气API 在打造天气预警系统的过程中,我们需要选择合适的天气API来获取天气信息。国内的天气API有很多,例如聚合数据、心知天气、天气通等,这些API不仅提供天气信息,还可以获取空气质量、生活指数、日出日落时间等相关信息。 以聚合数据的API为例,在聚合数据官网注册并获取到API的key之后,我…

    node js 2023年6月8日
    00
  • 详解Vue.js使用Swiper.js在iOS<11时出现错误

    当我们在使用Vue.js框架结合Swiper.js插件时,有时会出现iOS11以下版本的设备无法正常显示Swiper的问题。这是由于Swiper内部使用了ES6的语法,而iOS11以下版本的系统并不支持ES6语法,导致代码执行出现错误。那么该如何解决这一问题呢?下面我们来详细讲解。 问题分析 我们在iOS11以下版本的设备中使用Swiper插件时,会发现sw…

    node js 2023年6月8日
    00
  • 纯异步nodejs文件夹(目录)复制功能

    下面是“纯异步nodejs文件夹(目录)复制功能”的完整攻略。 一、了解异步编程 在介绍纯异步nodejs文件夹(目录)复制功能之前,需要先了解一下异步编程。 异步编程是指在一个执行单元(A)中调用另一个执行单元(B),而在B执行的同时,执行单元A可以继续执行,不必等待B完成。这种编程方式在Node.js中非常常见,因为Node.js处理大量I/O(输入输出…

    node js 2023年6月8日
    00
  • node+socket实现简易聊天室功能

    下面是使用node+socket实现简易聊天室功能的完整攻略: 一、安装Node.js Node.js是一个JavaScript运行时环境,可以使用JavaScript进行服务器端编程。我们需要在本地先安装Node.js才能进行后续操作。 二、安装Socket.io Socket.io是一个实现实时双向通信的JavaScript库。我们可以使用Socket.…

    node js 2023年6月8日
    00
  • 深入理解javascript动态插入技术

    深入理解JavaScript动态插入技术 什么是动态插入技术 动态插入技术是指在网页加载后,通过JavaScript代码向已有页面中添加或删除HTML元素或样式表,以达到动态更新页面内容或布局的效果。 常见的动态插入技术包括DOM操作、innerHTML属性、createElement方法、setAttribute方法等。 动态插入技术的应用场景 动态插入技…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部