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

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日

相关文章

  • 抛弃Nginx使用nodejs做反向代理服务器

    要抛弃Nginx使用Node.js做反向代理服务器,可以按照以下攻略进行操作: 1. 安装Node.js 在开始使用Node.js作为反向代理的服务前,你需要确保你的系统已经安装了Node.js。如果未安装,可以在Node.js的官方网站上下载并安装。 2. 编写反向代理服务 在Node.js中编写反向代理服务器,需要使用http-proxy模块。你可以在终…

    node js 2023年6月8日
    00
  • 从零学习node.js之详解异步控制工具async(八)

    下面我来详细讲解一下“从零学习node.js之详解异步控制工具async(八)”这篇文章的完整攻略。 文章概述 本篇文章主要介绍了async模块中常用的几种异步控制工具,包括waterfall、parallel、series和auto四种。通过结合具体的实例说明了这些工具的用法和注意事项。 详细内容 首先,文章介绍了async.waterfall的用法和示例…

    node js 2023年6月8日
    00
  • Nodejs获取网络数据并生成Excel表格

    标题:Nodejs获取网络数据并生成Excel表格 1. 介绍 Nodejs是一门基于JavaScript语法的运行时环境或平台,它可以帮助我们开发高效、可扩展的网络应用程序。在本文中,我们将会学习如何使用Nodejs来获取网络数据,并将数据生成Excel表格。 2. 安装依赖包 使用Nodejs获取网络数据并生成Excel表格,我们需要安装以下依赖包: r…

    node js 2023年6月8日
    00
  • Vue路由History模式分析

    Vue路由History模式分析 Vue Router 是 Vue 的官方路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。Vue Router 可以让我们通过前端路由来实现页面之间的切换和跳转,它的 History 模式一般用于生产环境并且需要后端支持。 History 模式 Vue Router 根据浏览器的不同,支持两种路由…

    node js 2023年6月8日
    00
  • 通过nodejs 服务器读取HTML文件渲染到页面的方法

    首先,要实现通过nodejs服务器读取HTML文件并将其渲染到页面,我们需要用到Node.js的http、fs和path模块。 创建nodejs服务器 首先,在你的项目目录下创建一个server.js文件,使用以下代码创建一个简单的http服务器: const http = require(‘http’); http.createServer(functio…

    node js 2023年6月8日
    00
  • 初识NodeJS服务端开发入门(Express+MySQL)

    初识NodeJS服务端开发入门(Express+MySQL) 什么是NodeJS Node.js是一个开源、跨平台的JavaScript runtime环境,可以在服务器端运行 JavaScript 代码。Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量且高效。 什么是Express Express是一个基于Node.js的Web应用程序开发…

    node js 2023年6月8日
    00
  • JS集成fckeditor及判断内容是否为空的方法

    下面是JS集成fckeditor及判断内容是否为空的方法的完整攻略。 集成fckeditor的方法 第一步需要引入fckeditor的js文件和样式。可以从官网下载最新版的文件,也可以选择使用CDN。 <link rel="stylesheet" type="text/css" href="https:…

    node js 2023年6月8日
    00
  • 让nodeJS支持ES6的词法—-babel的安装和使用方法

    我来详细讲解一下“让nodeJS支持ES6的词法—-babel的安装和使用方法”的完整攻略。 1. 什么是babel babel是一个JavaScript编译器,能够将 ECMAScript 6/7/8/9 的代码转换为向后兼容的 JavaScript 代码(ES5 或更低版本的 JavaScript 代码)。我们可以使用它来将使用最新JavaScrip…

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