nodejs 文件操作函数

定义文件系统:

var fs = require(‘fs’)

一、文件夹操作

  • 文件系统:文件夹和文件操作
var fs = require('fs');
  • 文件夹操作
  • 创建文件夹
fs.mkdir(dirname,callback)
     path:
     callback:回调函数 callback(err)
  • 读取文件夹
fs.readdir(dirname,callback)
     path:文件路径
     callback:回调函数 callback(err,files) files:文件数组列表
  • 删除空文件夹
fs.rmdir(dirname,callback)
     path:文件路径
     callback:回调函数  callback(err)

二、文件操作

  • 普通文件操作
  • 读取文件内容
fs.readFile(filename,callback)
     filename:文件名
     callback(err,data)
  • 向文件中写入内容
fs.writeFile(filename,data,callback)
     filename:写入文件名
     data:写入文件的数据(String|Buffer)
     callback(err):错误信息参数
  • 向文件中追加内容
fs.appendFile(filename,data,callback)
    callback(err)
  • 删除文件
fs.unlink(path,callback)
    callback(err)
  • 文件字节操作(更灵活,也更复杂)
  • 打开文件
fs.open(filename, flags[,mode],callback)
     path:文件路径
     flags:打开方式
          r(只读) r+(读写) 文件不存在则抛出异常 
          w(只写) w+(读写) 文件不存在则创建
          wx(只写) wx+(读写) 文件存在,写入失败
          a(追加写) a+(读取追加) 文件不存在则创建
          ax(追加写) ax+(读取追加) 文件存在,追加失败
     mode:设置文件权限,默认0666
     callback:callback(err,fd)
  • 读取文件内容
fs.read(fd,buffer,offset,length,position,callback)
     fd:文件描述符
     buffer:存放读取文件内容后的数据
     offset:写入buffer的起始位置
     length:文件中读取的字节数
     position:文件读取的起始位置,如果position的值为null,则会从当前文件指针的位置读取
     callback(err,bytesRead,buffer)
          err:错误信息
          bytesRead:读取的字节数
          buffer:缓冲区对象
  • 写入文件内容 -buffer
fs.write(fd,buffer,offset,length[,position],callback)
        buffer:写入文件的buffer数据(Buffer)
        offset:读取buffer的起始位置
        length:写入文件数据的长度
        position:写入文件的起始位置
     callback(err,written,buffer)
          err
          written:实际写入的字节数
          buffer:写入的buffer对象
  • 写入文件内容 -data数据格式
fs.write(fd,data[,position,callback)
    fd:文件描述符
    data:写入文件的数据(String)
    callback(err, written, buffer)
            err:
            written:实际写入的字节数
            buffer:写入的buffer对象
  • 截断文件
fs.truncate(fd,len,callback)
     fd:文件描述符
     len:文件内容截取长度
     callback(err)
  • 关闭文件内容
fs.close(fd,callback)
  • 文件和文件夹共同操作
  • 查看文件和文件夹的状态
fs.stat(path,callback)
     path:路径|文件
     callback:callback(err,stats)
          stats:打印信息
          stats.isFile()
          stats.isDirectory()
  • 查看文件与目录是否存在
fs.exists(path,callback)
    callback(bool):存在返回true,不存在返回false
已经废弃 建议采用fs.access(path, callback) 实现
  • 移动/重命名文件或目录
fs.rename(oldPath, newPath, callback)
    callback(err)
  • 监视文件
fs.watchFile(filename[,options],listener)
     filename:完整路径及文件名
     options:persistent:true表示持续监视,不退出程序(如果设置为false意义何在);interval单位毫秒,表示每隔多少毫秒监视一次文件
     linstener:文件发生变化时回调 callback(curr,prev)
          curr:fs.stat对象,被修改后文件
          prev:fs.stat对象,被修改前对象
  • 取消监视文件
fs.unwatchFile(filename[,listener])
  • 监视文件或目录
  • filename 可以是一个文件或一个目录
fs.watch(filename[,options][,listener])

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程坑太多

「走进k8s」Kubernetes1.15.1必备知识 Pod 的钩子(18)

PS:为了掩饰所以提供了挂载方便查看删除后的优雅处理输出了一段话,但是实际的生产中最好的方式就是关闭容器的服务。PostStart 和 PreStop的使用方法...

17720
来自专栏运维经验分享

CentOS中基于不同版本安装重复包的解决方案

在更新 PHP 版本的时候,出现了NOKEY的错误提示后,暂时没有解决掉这个问题,于是就手动安装了php-mbstring...rpm  包的高版本,这样在接...

14130
来自专栏恰童鞋骚年

ASP.NET Core on K8S深入学习(3-2)DaemonSet与Job

  Deployment的部署可以指定副本Pod分布在多个Node节点上,且每个Node都可以运行多个Pod副本。而DaemonSet呢,它倔强地保证在每个No...

10610
来自专栏Rust语言学习交流

【Rust日报】 2019-08-16 - Rust如何走进Facebook

Chaos: 今天刚看到Facebook内部meetup流出的Slides,原文标题很有意思:Bringing Rust Home to Meet the Pa...

10610
来自专栏Rust语言学习交流

Substrate源码分析:启动流程

我们在命令行启动 substrate 节点,到底发生了什么呢?本文基于 substrate 源码,对其启动流程进行了简单的分析。

12840
来自专栏程序员果果

Prometheus 集成 Node Exporter

Prometheus 官方和一些第三方,已经把一些常用数据库、系统、中间件等的指标数据的采集做成了一个个 exporter,在生产环境中,直接导入使用就可以。这...

11820
来自专栏运维经验分享

package-cleanup

为什么这么说呢? 卸载deb包时候,可以连不要的依赖关系包一起删除,但是多如牛毛的rpm却不可以。 这个真的是rpm的痛! yum仅仅能在线安装r...

6010
来自专栏JMCui

Java8 CompletableFuture 编程

 所谓异步调用其实就是实现一个无需等待被调用函数的返回值而让操作继续运行的方法。在 Java 语言中,简单的讲就是另启一个线程来完成调用中的部分计算,使调用继续...

14310
来自专栏WebDeveloper

yarn镜像源更改和安装注意

34420
来自专栏编程坑太多

「走进k8s」Kubernetes1.15.1必备知识静态pod(17)

PS:静态pod主要可以把主要的组件进行容器化,etcd,kube-apiserver,kube-controller-manager,kebe-schedul...

30820

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励