fs文件系统
fs模块提供的API用于与文件系统交互
所有文件系统操作都有同步(含有Sync后缀)与异步两种形式(异步形式最后一个参数都是完成时的回调函数,回调函数第一个参数保留给异常)
来源:http://nodejs.cn/api/fs.html#fs_file_system
引入: const fs = require('fs'); 或 var fs = require('fs');
常用方法:
- 读取目录的内容:
fs.readdir(path,callback(err,files) )
>读取path目录中的内容,生成的files参数为目录中不包括 '.' 和 '..' 的文件名的数组。
fs.readdirSync(path)
>返回一个不包括 '.' 和 '..' 的文件名的数组。
- 创建目录:
fs.mkdir(path,callback(err) )
>异步的创建目录
fs.mkdirSync(path)
- 打开文件:(注意关闭文件描述符)
fs.open(path,flags,callback(err,fd) )
>以flags指定方式打开path处文件并生成文件描述符参数传递给回调函数
fs.openSync(path,flags)
>同步方式,返回文件描述符的整数
- 关闭文件描述符:
fs.close(fd,callback(err) )
fs.closeSync(fd)
- 读取文件数据:
fs.read(fd,buffer,offset,length,position,callback(err,bytesRead,buffer) )
>从fd的position处读取length长的数据写入offset偏移量的buffer中
fs.readSync(fd,buffer,offset,length,position)
>返回bytesRead的数量
fs.readFile(path,callback(err,data) )
>读取path处文件的全部内容并传入到data参数中给回调函数
fs.readFileSync(path)
>返回path的内容
- 写入文件:
fs.write(fd,buffer[,offset,length,position],callback(err,bytesWritten,buffer) )
>将buffer中以offset开始的length长的字节写入到fd的position处开始的指定文件中;回调的第二个参数指定从buffer中写入了多少字节
fs.write(fd,string[,position],callback(err,written,string) )
>将string整个写入到fd的position处开始的指定文件中;回调的第二个参数指定传入的字符串被写入多少字节
fs.writeSync(fd,buffer[,offset,length,position])
fs.writeSync(fd,string[,position])
fs.writeFile(file,data,callback(err) )
>将data异步的写入到file中,data可以是buffer;文件存在时覆盖文件
fs.writeFileSync(file,data)
>返回undefined
fs.appendFile(path,data,callback(err) )
>异步的追加数据到path文件,文件不存在则创建文件;data可以是字符串或者buffer
fs.appendFileSync(path,data )
- 拷贝文件:
fs.copyFile(src,dest,callback(err) )
>异步的将 src 拷贝到 dest,dest存在时被覆盖
fs.copyFile(src,dest )
>同步拷贝,存在时被覆盖
- 重命名文件:
fs.rename(src_path,dest_path,callback(err) )
>将源文件stc_path重命名为dest_path
fs.renameSync(src_path,dest_path)
- 删除文件:
fs.unlink(path,callback(err) )
>删除指定path文件
fs.unlinkSync(path)
- 测试路径存在:
fs.exitsSync(path)
>path存在时返回true;异步版本已废除,可用下面的fs.access()函数测试
- 写入权限
fs.access(path[, mode], callback)
>测试path指定的文件或目录的用户权限(可读可写)
fs.accessSync(path[,mode])
- 获取文件元信息:
fs.stat(path,callback(err,stats) )
>返回文件的元信息到stats中,其中atime为最后一次访问时间,mtime为最后一次被修改时间,ctime为文件状态最后一次修改时间
fs.statSync(path )

浙公网安备 33010602011771号