首先引入 node.js 为我们写好的核心模块 fs ,接着使用
writeFile API
进行参数配置,
第一个参数(‘./hello.doc’)
为文件位置/类型/命名,
第二个参数(‘hello’)
为文件默认内容。
需要注意的是,
如果创建文件成功,error 的值是 null
,你可以使用 console.log 来查看 error 在何是发生改变。
有必要说一下语法及参数,剩下的按照参数配置进行业务编写即可。
fs.open(path, flags[, mode], callback)
- path:文件的路径
- flags:文件打开的行为,具体值详表格
- mode:设置文件模式(权限),文件创建默认权限为 0666(可读,可写)
- callback:回调函数,带有两个参数如:callback(err, fd)
| flags | 描述 |
|---|
| r | 以读取模式打开文件。如果文件不存在抛出异常。 |
| r+ | 以读写模式打开文件。如果文件不存在抛出异常。 |
| rs | 以同步的方式读取文件。 |
| rs+ | 以同步的方式读取和写入文件。 |
| w | 以写入模式打开文件,如果文件不存在则创建。 |
| wx | 类似 ‘w’,但是如果文件路径存在,则文件写入失败。 |
| w+ | 以读写模式打开文件,如果文件不存在则创建。 |
| wx+ | 类似 ‘w+’, 但是如果文件路径存在,则文件读写失败。 |
| a | 以追加模式打开文件,如果文件不存在则创建。 |
| ax | 类似 ‘a’, 但是如果文件路径存在,则文件追加失败。 |
| a+ | 以读取追加模式打开文件,如果文件不存在则创建。 |
| ax+ | 类似 ‘a+’, 但是如果文件路径存在,则文件读取追加失败。 |
打开刚刚创建的 hello.doc 文件:
var fs = require('fs')
fs.open('./input.txt', 'r', (err,fd) => {
if(err){
console.log(`文件打开失败:${err}`)
console.log(`文件打开成功!${fd}`)
我们可以通过 缓冲区(Buffer) / writeFile方法 来为文件写入二进制内容。
fs.writeFile(file, data[, options], callback)
writeFile 直接打开文件默认是 w 模式,所以如果文件存在,该方法写入的内容会覆盖旧的文件内容。
- file:文件名或文件描述符。
- data:要写入文件的数据,可以是 String(字符串) 或 Buffer(缓冲) 对象。
- options:该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 ‘w’
- callback:回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。
var fs = require('fs')
var data = '\n I am input content \n'
var data = new Buffer(data)
fs.writeFile('input.txt', data, {flag: 'a'}, (err) => {
if(err){
console.log(`文件写入失败(${err})`)
console.log(`写入成功!`)
将数据追加到文件,需要注意的是,如果文件尚不存在则会创建该文件。
fs.appendFile(filename,data,[options],callback);
var fs = require('fs')
var data = '\n 我是追加的内容! \n'
var data = new Buffer(data)
fs.appendFile('input.txt', data, (err) => {
if(err) throw err
console.log('追加内容成功!')
读取文件中的内容。
fs.read(fd, buffer, offset, length, position, callback)
- fd:通过 fs.open() 方法返回的文件描述符。
- buffer:数据写入的缓冲区。
- offset:缓冲区写入的写入偏移量。
- length:要从文件中读取的字节数。
- position:文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。
- callback:回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。
input.txt 文件内容
var fs = require('fs')
fs.readFile('input.txt', (err,data) => {
if(err) throw err
console.log('- - - - - - - - - - - - - - - - - - - - -')
console.log(`input.txt:${data}`)
console.log('- - - - - - - - - - - - - - - - - - - - -')
创建一个目录,需要注意的是,在 Windows 上,在根目录上使用 fs.mkdir() (即使使用递归参数)也会导致错误。
fs.mkdir(path[, options], callback)
- path:文件路径。
- options:recursive - 是否以递归的方式创建目录,默认为 false。mode - 设置目录权限,默认为 0777。
- callbac:回调函数,没有参数。
var fs = require('fs')
console.log('即将开始创建...')
fs.mkdir("/data/new", (err) => {
if(err) throw err
console.log('文件创建成功!')

注意:如果创建的目录已经存在,则会提示如下Error:
Error: EEXIST: file already exists, mkdir 'C:\data\new'
删除一个已经存在的目录,需要注意的是,在递归模式中,如果 path 不存在则不报告错误,并且在失败时重试操作。
fs.rmdir(path, callback)
- path:文件路径。
- callback:回调函数。
var fs = require('fs')
console.log('准备执行删除目录操作')
fs.rmdir("/data/new", (err) => {
if(err) throw err
console.log('删除目录成功!')
注意:以下所有示例均是异步语法!注意:以下所有示例均是异步语法!创建文件node.js 允许我们在计算机本地创建文件,例如创建一个 word 文件:// 引入核心模块(fs)var fs = require('fs')// APIfs.writeFile('./hello.doc', 'hello', (error) => { // 创建失败 if(er...
1. fs.stat 检测是文件还是目录(目录 文件是否存在)
2. fs.mkdir 创建目录 (创建之前先判断是否存在)
3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录)
4. fs.appendFile 写入追加文件
5.fs.readFile 读取文件
6.fs.readdir 读取目录
7.fs.rename 重命名
8. fs.rmdir 删除目录
9. fs.unlink 删除文件
var fs=require('fs'); //fs是node.js的核心模块,不用下载安装,可以直接引入
//1. f
readFile readFileSync(同步方法) 读取内容
writeFile writeFileSync(同步方法) 写入文件
appendFile appendFileSync(同步方法) 追加内容
unlink unlinkSync(同步方法) 删除文件
mkdir mkdirSync (同步方法)
在 Node.js 中,可以使用 fs 模块来创建文件流。
要创建文件流,可以使用 fs.createReadStream() 方法来读取文件,或使用 fs.createWriteStream() 方法来写入文件。
例如,以下代码演示了如何使用 fs.createReadStream() 方法来读取文件并使用 pipe() 方法将其写入另一个文件:
const fs = require('fs')...
console.log(`mkdir ${mkdir} file failed~`);
} else {
console.log(`mkdir ${mkdir} file success~`);
读取目录
如果读取的目录下有子目录或子文件,将会把子目录或子文件的文件名
本文实例讲述了node.js基于fs模块对系统文件及目录进行读写操作的方法。分享给大家供大家参考,具体如下:
如果要用这个模块,首先需要引入,fs已经属于node.js自带的模块,所以直接引入即可
var fs = require('fs');
1.读取文件readFile方法使用
fs.readFile(filename,[option],callback) 方法读取文件。
参数说明:
filename String 文件名
option Object
encoding String |null default=null
flag String default=’r’
callb
let tsxData = `
import { useRef, useEffect, useState, FC } from 'react';
import { Form, Input, Popup, Button, Radio, TextArea } from 'antd-mobile';
import styles from './index.les
您好,关于fs-extra的使用,您需要先安装fs-extra模块,可以使用npm命令进行安装。安装完成后,您可以在您的Node.js代码中使用require方法引入fs-extra模块。
简单的读文件和写文件代码示例如下:
```javascript
const fse = require('fs-extra')
fse.readFile('./file.txt', 'utf-8')
.then(data => {
console.log(data)
.catch(err => {
console.error(err)
```javascript
const fse = require('fs-extra')
fse.writeFile('./file.txt', 'Hello world', 'utf-8')
.then(() => {
console.log('Successfully wrote to file')
.catch(err => {
console.error(err)
以上示例使用了fs-extra的readFile和writeFile方法,其中第一个参数是文件路径,第二个参数是读写文件的编码格式,可以省略不填,默认为utf-8。
希望能够帮助您,如果您有其他问题或需要更详细的解答,请随时提出。
vue-element-admin - 克隆项目后 npm install 装包时报错:code 128 An unknown git error occurred(完美解决方案,100% 解决!)
CSDN-Ada助手:
uniapp - 超详细 H5 网页引入百度地图教程,附地图示例 / 获取当前设备定位的省市区、详细地址、经纬度信息 / 用户当前 IP 属地定位地理位置等等(新手小白快速上手,详细配置及使用全流程)
小绿53514:
uniapp - 将 uni.request() 请求改为 “同步“ 执行,支持在【纯js文件】与【vue页面】将 uni.request 网络请求从 “异步“ 改为 “同步“(完美解决方案 详细示例
街尾杂货店&:
微信小程序 - [完整源码] 全屏左右菜单联动效果,左侧分类与右侧内容联动,类似美团饿了么的点餐页面 “左边菜单,右边内容“ 效果(开箱即用的示例源码,代码干净整洁且注释详细)
uni-app - H5 通过 uni.uploadFile() 上传 Blob 文件路径图片图像,文件没有后缀扩展名(上传图片到服务端文件没有后缀名,服务端判断是无效的后缀名文件)终极且完美解决方案
想尝一尝被打赏的味道:
微信小程序 - 实时监听路由发生变化,当页面跳转发生变化时执行一段代码或函数,可获取目标页面的路径 URL 、路由参数、跳转方式、该页面的配置等(支持 “全局“ 和 “局部“ 两种写法)
微信小程序 - 签到打卡旋转 3D 动画功能,仿钉钉打卡签到时 “容器“ 动画翻转效果(超详细完整示例源码教程,代码简洁、丝滑流畅、示例复制即用)
Vue - 实现 “当前日期“ 加上 “N天“ 后的日期,即某个日期加几天后的日期,支持自定义的当前日期(如果不想用当前日期,可自己传入一个)(原生 JS 实现,无任何第三方依赖,支持任何前端项目)