zoukankan      html  css  js  c++  java
  • node.js(六 --- 文件系统模块fs)

      node.js文件系统(fs模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的fs.readFile和同步的fs.readFileSync();异步的方法函数最后一个参数为回调函数,

    回调函数的第一个参数包含错误信息(error)

      打开文件

        fs.open(path,flags,mode,callback): 其中path是指文件的路径; flags是指文件打开的行为; mode是设置文件模式(权限),文件创建默认权限为0666(可读可写); callback是回调函数,带有两个参数;

        flags参数如下:

            r:以读取模式打开文件;如果文件不存在抛出异常;

            r+: 以读写模式打开文件,如果文件不存在抛出异常;

            rs: 以同步的方式读取文件;

            rs+: 以同步的方式读取和写入文件;

            w: 以写入模式打开文件,如果文件不存在则创建;

            wx: 类似w,但是如果文件路径存在,则文件写入失败;

            w+: 以读写模式打开文件,如果文件不存在则创建;

            wx+: 类似w,但是如果文件路径存在,则文件读写失败;

            a: 以追加模式打开文件,如果文件不存在则创建;

            ax: 类似a,但是如果文件路径存在,则文件追加失败;

            a+: 以读取追加模式打开文件,如果文件不存在则创建;

            ax+: 类似a,但是如果文件路径存在,则文件读取追加失败;

      获取文件信息

        fs.stat(path,callback): 其中,path表示文件路径; callback是指回调函数,有两个参数:(err,stats),其中stats是fs.stat对象;

        stats类中的方法包括:

          stats.isFile(): 如果是文件则返回true,否则返回false;

          stats.isDirectiory(): 如果是目录则返回true,否则返回false;

          stats.isBlockDevice(): 如果是块设备则返回true,否则返回false;

          stats.isCharacterDevice(): 如果是字符设备返回true,否则返回false;

          stats.isSymbolicLink(): 如果是软链接返回true,否则返回false;

          stats.isFIFO(): 如果是FIFO,则返回true,否则返回false.FIFO是UNIX中的一种特殊类型的命令管道;

          stats.isSocket(): 如果是Socket则返回true,否则返回false;

          

      写入文件

        fs.writeFile(file,data,options,callback): 直接打开文件默认是w模式,所以如果文件存在,该方法写入的内容会覆盖旧的文件内容;

        其中参数file是文件名或者文件描述; data是要写入文件的数据,可以是string或buffer对象; options是一个对象,包含encoding,mode,flag;默认的编码格式为utf-8,模式为0666,flag为w;  回调函数只包含错误信息参数;

      读取文件

         fs.read(fd,buffer,offset,length,position,callback): 该方法使用了文件描述来读取文件;

         参数fd的作用,通过fs.open()方法返回的文件描述符; buffer是数据写入的缓冲区; offset是缓冲区写入的写入偏移量; length是要从文件中读取的字节数; position表示文件读取的起始位置,如果position的值为null,则会从当前文件指针的位置读取。

      

      关闭文件

        fs.close(fd,callback): 该方法使用了文件描述符来读取文件; 其中,fd是通过fs.open()方法返回的文件描述符; callback回调函数没有参数

      文件截取

        fs.ftruncate(fd,len,callback): 该方法使用了文件描述符来读取文件。 其中:fd是通过fs.open()方法返回的文件描述符; len: 文件内容截取的长度; callback回调函数没有参数;

      删除文件

        fs.unlink(path,callback): 其中,path是文件的路径; callback回调函数没有参数;

      创建目录

        fs.mkdir(path,options,callback): 其中,path是指文件路径; options有两个值:recursive 和 mode,recursive表示是否以递归的方式创建目录,默认为false,mode是设置目录权限的,默认为0777; callback回到函数没有参数

      

      读取目录

        fs.readdir(path,callback): 其中,path是文件路径; callback回调函数,带有两个参数(err,file),err为错误信息,files为目录下的文件数组列表

      删除目录

        fs.rmdir(path,callback): 其中path是文件路径,callback是回调函数,没有参数

  • 相关阅读:
    putty设置用key自动登录
    linux快速进入全屏命令行模式
    二维数组的指针
    vim编写Bash脚本
    使用cat命令添加或附加多行文本
    Linode中的Network Helper
    网络通信框架之retrofit
    网络通信框架之okHttp
    网络通信框架之okHttpUtils
    Volley源码分析
  • 原文地址:https://www.cnblogs.com/mufc/p/10096170.html
Copyright © 2011-2022 走看看