We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fs 模块提供了API与文件系统进行交互,使用方法:
fs
const fs = require('fs')
所有的文件操作都有异步和同步两种形式,异步方式的最后都是完成时的回调。传给回调函数的参数取决于具体的方法。但回调函数的第一个参数都会保留给异常。如果操作成功完成,第一个参数会为null或undefined
null
undefined
当使用同步操作的时候,出现异常会立即抛出。
大部分的fs的操作接受字符串、Buffer、或使用file:协议的URL对象作为文件路径。字符串形式的路径会被解释为表示绝对路径或相对路径的 UTF-8 字符序列。 相对路径会相对于 process.cwd() 定义的当前工作目录进行处理
file:
process.cwd()
使用fs.watch() 方法会返回一个新的fs.FSWatcher对象。所有的fs.FSWatcher对象都部署了EvventEmitter,每当监视的文件变化时会触发change事件。
fs.watch()
fs.FSWatcher
EvventEmitter
change
当监视的目录或文件有变化时触发,回调参数
当watcher停止监视文件变化时触发。关闭的fs.FSWatcher对象在事件处理函数中不再可用
watcher
当监视文件发生错误时触发。关闭的fs.FSWatcher对象在事件处理函数中不再可用
fs.FSWatcher停止监视文件变化。一旦停止之后,fs.FSWatcher对象将不再可用
读取一个目录的内容。
path:是文件路径
options:可以是一个字符串指定字符编码或者是一个对象并且使用encoding指定字符编码。如果encoding设为'buffer',则返回的文件名会被作为Buffer对象传入。encoding的默认值是utf8
encoding
'buffer'
Buffer
callback:异步方法的回调,参数是(err, files)
(err, files)
同步方法返回一个不包含'.'和'..'的文件名或文件夹数组
'.'
'..'
读取一个文件的所有的内容
path:文件路径
options: ||
encoding: 编码方式,默认为null
flag: 文件系统flag,默认为'r'
callback: 读取完成的回调函数,参数(err, data)
(err, data)
const fs = require('fs') fs.readFile('./1.txt', 'utf8', (err, data) => { if (err) throw Error(err) console.log(data) })
file:文件名或者是文件描述符
data:要写入的数据
options:
encoding:编码方式,默认是'utf8'
mode: 写入模式,默认为0o666
flag: 文件系统flag,默认为'w'
callback: 异步文件写入完成回调,参数 err
写入数据到文件中,如果文件已经存在则覆盖文件。data可以是字符串或者是buffer。如果data是一个buffer,则encoding无效
data
从指定的文件fd中读取数据
fd
buffer 是读取到的数据将要被写入的buffer
buffer
offset是buffer中开始写入的偏移量
offset
length是一个整数表示读取的数据的长度
length
position指定从文件中开始读取的位置。如果为null,则从当前文件读取的位置开始读取,并且文件的位置会更新。如果 position 为一个整数,则文件读取位置保持不变。
position
callback文件读取结束的回调函数,有三个参数(err, bytesRead, buffer)
callback
(err, bytesRead, buffer)
fs.stat(path[,options], callback) 和 fs.statSync(path[,options])
fs.stat(path[,options], callback)
fs.statSync(path[,options])
path: 文件路径
options:
bigint 在返回的fs.Stats对象中的数字类型值是否为bigint。默认值是:false
fs.Stats
bigint
false
用来获取文件状态相关的信息。返回的是一个fs.Stats对象,该对象包含一些文件信息并提供一些方法。 常用的方法:
stats.isDirectory() // 判断是都是一个文件目录 stats.isFile() // 判断是否是一个文件
fs.access(path[,mode],callback) 和 fs.accessSync(path[,mode])
fs.access(path[,mode],callback)
fs.accessSync(path[,mode])
path
mode
fs.constants.F_OK
err
Error
该方法可以用来检查文件是否存在、是否可读可写
// 判断文件是否存在并且可读可写 const fs = require('fs') fs.access('./1.txt', fs.constants.F_OK | Fs.constants.W_OK, err => { if (err) { console.log(err.code === 'ENOENT' ? '不存在' : '只可读') } else { console.log('可读可写') } })
fs.chmod(path, mode. callback)和fs.chmodSync(path, mode)
fs.chmod(path, mode. callback)
fs.chmodSync(path, mode)
path | | 文件或目录路径
mode :权限值
callback:异步方法的回调,参数为:err
同步方法的返回值是undefined
fs.copyFile(src, dest [,flags], callback) 和fs.copyFile(src, dest [,flags])
fs.copyFile(src, dest [,flags], callback)
fs.copyFile(src, dest [,flags])
0
该方法将src拷贝到dest,如果dest已经存在会被覆盖。
src
dest
flags是一个可选的整数,指定拷贝操作的行为。唯一支持的flags是fs.constants.COPYFILE_EXCL,如果dest已经存在,则导致拷贝失败
flags
fs.constants.COPYFILE_EXCL
var fs = require('fs') fs.copyFile('./1.txt', './3.txt' ,err => { console.log(err) }) fs.copyFile('./1.txt', './3.txt', fs.constants.COPYFILE_EXCL ,err => { console.log(err) })
fs.mkdir(path[,options],callback)和fs.mkdirSync(path[,options])
fs.mkdir(path[,options],callback)
fs.mkdirSync(path[,options])
var fs = require('fs') fs.mkdir('./test', err => { console.log(err) }) // 在 v10.12.0中 options中使用{recursive: true}递归创建目录
fs.rmdir(path, callback)和fs.rmdirSync(path)
fs.rmdir(path, callback)
fs.rmdirSync(path)
var fs = require('fs') fs.rmdir('./test', err => { if (err) { console.log(err) } else { console.log('删除完成') } })
node中文文档
node官方文档
The text was updated successfully, but these errors were encountered:
No branches or pull requests
fs 模块
fs
模块提供了API与文件系统进行交互,使用方法:所有的文件操作都有异步和同步两种形式,异步方式的最后都是完成时的回调。传给回调函数的参数取决于具体的方法。但回调函数的第一个参数都会保留给异常。如果操作成功完成,第一个参数会为
null
或undefined
当使用同步操作的时候,出现异常会立即抛出。
文件路径
大部分的
fs
的操作接受字符串、Buffer、或使用file:
协议的URL对象作为文件路径。字符串形式的路径会被解释为表示绝对路径或相对路径的 UTF-8 字符序列。 相对路径会相对于process.cwd()
定义的当前工作目录进行处理fs.FSWatcher 类
使用
fs.watch()
方法会返回一个新的fs.FSWatcher
对象。所有的fs.FSWatcher
对象都部署了EvventEmitter
,每当监视的文件变化时会触发change
事件。change 事件
当监视的目录或文件有变化时触发,回调参数
close事件
当
watcher
停止监视文件变化时触发。关闭的fs.FSWatcher
对象在事件处理函数中不再可用error事件
当监视文件发生错误时触发。关闭的
fs.FSWatcher
对象在事件处理函数中不再可用watcher.close()
fs.FSWatcher
停止监视文件变化。一旦停止之后,fs.FSWatcher
对象将不再可用文件和文件夹读取操作
fs.readdir(path[,option], callback) 和 fs.readdirSync(path[,option])
读取一个目录的内容。
path:是文件路径
options:可以是一个字符串指定字符编码或者是一个对象并且使用
encoding
指定字符编码。如果encoding
设为'buffer'
,则返回的文件名会被作为Buffer
对象传入。encoding
的默认值是utf8callback:异步方法的回调,参数是
(err, files)
同步方法返回一个不包含
'.'
和'..'
的文件名或文件夹数组fs.readFile(path[,option], callback) 和 fs.readFileSync(path[,option])
读取一个文件的所有的内容
path:文件路径
options: ||
encoding: 编码方式,默认为null
flag: 文件系统flag,默认为'r'
callback: 读取完成的回调函数,参数
(err, data)
fs.writeFile(file,data[,options], callback) 和 fs.writeFileSync(file,data[,options])
file:文件名或者是文件描述符
data:要写入的数据
options:
encoding:编码方式,默认是'utf8'
mode: 写入模式,默认为0o666
flag: 文件系统flag,默认为'w'
callback: 异步文件写入完成回调,参数 err
写入数据到文件中,如果文件已经存在则覆盖文件。
data
可以是字符串或者是buffer。如果data是一个buffer,则encoding
无效fs.read(fd, buffer, offset, length, position, callback) 和 fs.readSync(fd, buffer, offset, length, position)
从指定的文件
fd
中读取数据buffer
是读取到的数据将要被写入的bufferoffset
是buffer中开始写入的偏移量length
是一个整数表示读取的数据的长度position
指定从文件中开始读取的位置。如果为null
,则从当前文件读取的位置开始读取,并且文件的位置会更新。如果position
为一个整数,则文件读取位置保持不变。callback
文件读取结束的回调函数,有三个参数(err, bytesRead, buffer)
获取文件状态
fs.stat(path[,options], callback)
和fs.statSync(path[,options])
path: 文件路径
options:
bigint 在返回的
fs.Stats
对象中的数字类型值是否为bigint
。默认值是:false
用来获取文件状态相关的信息。返回的是一个
fs.Stats
对象,该对象包含一些文件信息并提供一些方法。常用的方法:
获取权限
fs.access(path[,mode],callback)
和fs.accessSync(path[,mode])
path
的文件或者目录的用户权限。mode
参数是一个可选的整数,指定要执行的可访问性检查。fs.constants.F_OK
err
, 当可访问性检查失败是,err会是一个Error
对象。该方法可以用来检查文件是否存在、是否可读可写
修改权限
fs.chmod(path, mode. callback)
和fs.chmodSync(path, mode)
path
| | 文件或目录路径mode
:权限值callback
:异步方法的回调,参数为:err同步方法的返回值是undefined
文件复制
fs.copyFile(src, dest [,flags], callback)
和fs.copyFile(src, dest [,flags])
0
该方法将
src
拷贝到dest
,如果dest
已经存在会被覆盖。flags
是一个可选的整数,指定拷贝操作的行为。唯一支持的flags
是fs.constants.COPYFILE_EXCL
,如果dest
已经存在,则导致拷贝失败创建文件目录
fs.mkdir(path[,options],callback)
和fs.mkdirSync(path[,options])
删除文件
fs.rmdir(path, callback)
和fs.rmdirSync(path)
参考:
node中文文档
node官方文档
The text was updated successfully, but these errors were encountered: