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 )

posted @ 2018-08-10 22:17  wyr_blog  阅读(116)  评论(0)    收藏  举报