NodeJS后端开发操作文件之读写文件

目录
  • 简介
  • 创建文件夹
  • 删除文件
  • 删除文件夹
  • 写入数据
  • 读取数据
  • 检查文件是否存在
  • 总结

简介

操作文件是服务端一个基础的功能,也是做后端开发的必备能力之一。操作文件主要包括读和写。而这些功能 NodeJS 都已经提供了对应的方法。只要调用就行了。

创建文件夹

同步方法:

const fs = require('fs')
fs.mkdirSync(`${__dirname}/雷猴`)

NodeJS有一个文件模块,叫fs 。对文件操作的话,必须先引入这个模块。

使用fs.mkdirSync方法可以创建一个文件夹。里面传入要创建的文件夹的名字即可。

__dirname指的是当前文件所在文件夹的绝对路径。

异步创建:

const fs = require('fs')
fs.mkdir(`${__dirname}/雷猴`, err => {
  if (err) {
    console.error(err)
  }
})

使用fs.mkdir方法可以进行异步创建,第一个参数也是文件夹名称,第二个是回到函数,该函数里有一个err参数,可以返回错误信息。

删除文件

创建完文件夹,本来是想讲 “删除文件夹” 的。但由于删除文件夹之前要清空里面所有文件,所以就把 删除文件 的用法放在前面讲。

删除文件分 同步 和 异步 两种方法。

同步 fs.unlinkSync:

const fs = require('fs')
fs.unlinkSync(`${__dirname}/test.txt`);

fs.unlinkSync里传入要删除的文件路径和文件名,即可删除指定文件。

异步 fs.unlink:

const fs = require('fs')
fs.unlink(`${__dirname}/test.txt`, err => {
  if (err) {
    console.error(err)
  }
})

fs.unlink方法有2个参数,第一个参数是文件路径和文件名,第二个参数是监听删除失败的回调函数。

删除文件夹

删除文件夹之前要清空目标文件夹里的所有文件。 可以使用fs.unlinkSyncfs.unlink删除文件。

同步:

const fs = require('fs')
fs.rmdirSync(`${__dirname}/雷猴`)

异步:

const fs = require('fs')
fs.rmdir(`${__dirname}/雷猴`, err => {
  if (err) {
    console.error(err)
  }
})

和删除文件的用法差不多,删除文件夹的方法也有同步和异步,异步接受2个参数,第二个参数同样是监听报错的回调。

写入数据

const fs = require('fs')
const content = ' 雷猴雷猴\n'
const opt = {
  flag: 'a', // a:追加写入;w:覆盖写入
}
fs.writeFile('test.txt', content, opt, (err) => {
  if (err) {
    console.error(err)
  }
})

fs.writeFile方法可以将内容写入文件中。如果文件不存在,会自动创建文件。

fs.writeFile参数说明:

  • 第一个参数:文件名
  • 第二个参数:写入的内容
  • 第三个参数:写入模式(追加、覆盖等)
  • 第四个参数:错误信息监听

读取数据

const fs = require('fs')
fs.readFile('fileName', (err, data) => {
  if (err) {
    console.error(err)
    return
  }
  // data 是二进制类型,需要转换成字符串
  console.log(data.toString())
})

使用fs.readFile方法可以读取数据,第一个参数是文件名;第二个参数是回调,err监听错误信息,data是读取回来的数据。

需要注意的是,读取回来的data是一个二进制类型的数据,需要使用toString()方法转换成我们读得懂的数据。

检查文件是否存在

const fs = require('fs')
const exist = fs.existsSync('fileName')
console.log(exist)

使用fs.existsSync方法可以检测指定文件是否存在,如果存在就返回true ;否则返回 false 。

总结

如果你使用NodeJS做后台,读写文件这块知识点是逃不过去的。它最常见的功能可以写日志,比如收集错误日志等。

日志我们也可以写在数据库里,不过不是所有电脑都装了相同的数据库。但如果你将日志写在一个文件中,文件的内容在别的电脑一般都能轻易打开。

到此这篇关于NodeJS后端开发操作文件之读写文件的文章就介绍到这了,更多相关NodeJS 读写文件 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解nodeJS中读写文件方法的区别

    导言:nodejs中所有与文件相关的操作都在fs模块中,而读写操作又是我们会经常用到的操作,nodejs的fs模块针对读操作为我们提供了readFile,read, createReadStream三个方法,针对写操作为我们提供了writeFile,write, createWriteStream三个方法,下面分析一下它们的区别: 一.readFile和writeFile 1.readFile方法是将要读取的文件内容完整读入缓存区,再从该缓存区中读取文件内容,具体操作如下: fs.readFil

  • nodejs创建简易web服务器与文件读写的实例

    web服务器至少有以下几个特点: 1.24小时不停止的工作,也就是说这个进程要常驻在内存中 2.24小时在某一端口监听,如: http://localhost:8080, www服务器默认端口80 3.要能够处理基本的请求:如get, post 在node js中创建一台服务器非常的简单,因为node自带http模块,该模块可以帮助我们非常快速搭建一台web服务器,来处理一个简单的请求. const http = require("http"); var server = http.c

  • nodejs读写json文件的简单方法(必看)

    nodejs 读json文件 var fs=reauire('fs'); var file="d:\\0.json"; var result=JSON.parse(fs.readFileSync( file)); //操作对象 nodejs 写json文件 var coors = {}; coors.left_top = {}; coors.right_top = {}; coors.left_bottom = {}; coors.right_bottom = {}; //填充coor

  • 使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解

    fs概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的. nodeJS中通过 require('fs') 使用fs模块. 所有的方法都有异步和同步的形式. 异步形式始终以完成回调作为它最后一个参数. 传给完成回调的参数取决于具体方法,但第一个参数总是留给异常. 如果操作成功完成,则第一个参数会是 null 或 undefined //异步示例 var fs = require('fs'); fs.unlink('/tmp/hello', function(err){ if (err)

  • NodeJS后端开发操作文件之读写文件

    目录 简介 创建文件夹 删除文件 删除文件夹 写入数据 读取数据 检查文件是否存在 总结 简介 操作文件是服务端一个基础的功能,也是做后端开发的必备能力之一.操作文件主要包括读和写.而这些功能 NodeJS 都已经提供了对应的方法.只要调用就行了. 创建文件夹 同步方法: const fs = require('fs') fs.mkdirSync(`${__dirname}/雷猴`) NodeJS有一个文件模块,叫fs .对文件操作的话,必须先引入这个模块. 使用fs.mkdirSync方法可以

  • Qt基础开发之Qt文件操作类QFile读写文件的详细方法与实例及QDataStream的使用方法

    Qt文件操作类QFile简介 Qt中使用QFile类来操作文件的输入/输出.继承至QIODevice,QIODevice类是输入/输出设备的基类, 为设备提供了公共实现和抽象接口用于读写块数据.QIODevice又继承至QObject. 1.使用QFile类打开文件 QFile的构造函数 QFile(const QString &name) //传入一个文件路径 构造完成后,并没有打开文件,需要使用QFile::open函数来打开文件 [virtual] bool QFile::open(Ope

  • python之文件的读写和文件目录以及文件夹的操作实现代码

    为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用内存.举个例子,对文本文件读取: file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) Python读写文件实际操作的五大步骤 一.打开文件 Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你

  • Python常见读写文件操作实例总结【文本、json、csv、pdf等】

    本文实例讲述了Python常见读写文件操作.分享给大家供大家参考,具体如下: 读写文件 读写文件是最常见的IO操作,python内置了读写文件的函数,用法和c是兼容的. 读写文件前,我们必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(文件描述),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 1.读文件 要以读文件的模式打开一个文件对象,使用p

  • c++读写文件流实例程序讲解

    掌握文本文件读写的方法了解二进制文件的读写方法 C++文件流: 复制代码 代码如下: fstream // 文件流ifstream // 输入文件流ofstream // 输出文件流 //创建一个文本文件并写入信息//同向屏幕上输出信息一样将信息输出至文件#include<iomanip.h>#include<fstream.h>void main(){ ofstream f1("d:\\me.txt"); //打开文件用于写,若文件不存在就创建它 if(!f1

  • C语言rewind与fseek函数之随机读写文件的用法详解

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读写,也就是说从文件的任意位置开始读写. 实现随机读写的关键是要按要求移动位置指针,这称为文件的定位. 文件定位函数rewind和fseek 移动文件内部位置指针的函数主要有两个,即 rewind() 和 fseek(). rewind() 用来将位置指针移动到文件开头,前面已经多次使用过,它的原型为

  • PHP读写文件高并发处理操作实例详解

    本文实例讲述了PHP读写文件高并发处理操作.分享给大家供大家参考,具体如下: 背景: 最近公司游戏开发需要知道游戏加载的流失率.因为,我们做的是网页游戏.玩过网页游戏的人都知道,进入游戏前要加载一些资源.最后才能到达创建角色的游戏界面.我们有一个需求就是要统计在加载过程中还未到达角色创建界面而流失的用户数量. 我们在加载开始就进行统计人数,加载完成之后再记录人数.这样,通过用加载前的人数减去成功加载后的人数.就知道了加载的流失率.就可以知道游戏是否还要继续优化加载过程,降低用户加载游戏率. 由于

  • 详解dll动态库的开发与调用及文件的读写小程序

    详解dll动态库的开发与调用及文件的读写小程序 首先我们先来学习一下动态库的调用,先找到动态库的.dll和.lib文件并将其导入到同源文件相同级别的文件夹下面,然后在添加进其头文件,并右击项目处,然后点击链接,链接我们的lib文件(一定要是全名称包括扩展名),然后我们就可以调用动态库的函数了. Dll是我们具体的函数, lib使我们的函数描述文件. #include <stdio.h> #include <stdlib.h> /* 该代码是对文件读写操作的使用 */ #pragma

  • java 对象输入输出流读写文件的操作实例

    java 对象输入输出流读写文件的操作实例 java 支持对对象的读写操作,所操作的对象必须实现Serializable接口. 实例代码: package vo; import java.io.Serializable; public class Animal implements Serializable { private static final long serialVersionUID = 1L; private String name; private Integer weight;

随机推荐