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])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容

  • 文件系统模块是一个封装了标准的 POSIX 文件 I/O 操作的集合。通过require('fs')使用这个模块。...
    保川阅读 771评论 0 0
  • 一、核心模块和对象 核心模块的意义 常用内置模块path:处理文件路径fs:操作文件系统child_process...
    EndEvent阅读 4,401评论 0 1
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,291评论 0 6
  • //公共引用 varfs =require('fs'), path =require('path'); 1、读取文...
    才気莮孒阅读 824评论 0 1
  • 这一年你十八岁 女孩子都喜欢活在18 你正是那个青春年华 也正是今年开始了 所谓的改变命运 班上的同学不再叽叽喳喳...
    萍萍_sunshine阅读 291评论 0 0