English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS 기본 튜토리얼

NodeJS Express.js

NodeJS 버퍼 및 URL;

NodeJS MySql

NodeJS MongoDB

NodeJS 파일(FS)

NodeJS 다른

Node.js 파일 시스템(FS)

Node.js FS

Node FS는 Node.js의 내장 모듈로, 파일을 처리하고 작업을 수행하는 데 도움을 줍니다.

NodeJs FS 파일 작업

Node FS를 사용하면 다음과 같은 파일 작업을 수행할 수 있습니다:

  • 파일 읽기

  • 파일 생성 또는 덮어쓰기

  • 파일 업데이트

  • 删除文件

  • 파일 이름 변경

Node.js는 UNIX(POSIX) 표준과 유사한 파일操作 API를 제공합니다. Node 파일 시스템 모듈(fs) 가져오기 문법은 다음과 같습니다:

var fs = require("fs")

비동기와 동기

Node.js 파일 시스템(fs 모듈)에서 메서드는 비동기와 동기 버전이 모두 있습니다. 예를 들어, 파일 내용을 읽는 함수는 비동기의 fs.readFile()와 동기의 fs.readFileSync()이 있습니다.

비동기 메서드의 마지막 파라미터는 콜백 함수입니다. 콜백 함수의 첫 번째 파라미터는 오류 정보(error)를 포함합니다.

가능한 한 비동기 메서드를 사용하는 것을 추천합니다. 비동기 메서드는 동기보다 성능이 좋고 빠르며, 블록이 없습니다.

实例

input.txt 파일을 생성하려면 다음과 같은 내용을 사용하세요:

기본 튜토리얼 웹사이트 주소: ko.oldtoolbag.com
파일 읽기 예제

file.js 파일을 생성하려면 다음과 같은 코드를 사용하세요:

var fs = require("fs");
// 비동기 읽기
fs.readFile('input.txt', function(err, data) {
   if(err) {
       return console.error(err);
   }
   console.log("비동기 읽기: "); + data.toString());
});
// 동기 읽기
var data = fs.readFileSync('input.txt');
console.log("동기 읽기: "); + data.toString());
console.log("프로그램 실행 완료.");

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
동기 읽기: 기본 튜토리얼 웹사이트 주소: ko.oldtoolbag.com
파일 읽기 예제
프로그램 실행 완료.
비동기 읽기: 기본 튜토리얼 웹사이트 주소: ko.oldtoolbag.com
파일 읽기 예제

이제 Node.js 파일 시스템 메서드에 대해 자세히 설명해 보겠습니다.

파일 열기

语法

비동기 모드에서 파일 열기의 문법 형식은 다음과 같습니다:

fs.open(path, flags[, mode], callback)

参数

参数使用说明如下:

  • path - 파일 경로

  • flags - 파일 열기 동작. 자세한 값은 아래 문서를 참조하세요

  • mode - 파일 모드(권한) 설정, 파일 생성 기본 권한은 0입니다666(可读,可写)。

  • callback - (읽기 가능, 쓰기 가능)。

콜백 함수는 두 개의 매개변수를 가지고 있습니다:callback(err, fd)。

flags 매개변수는 다음 값 중 하나일 수 있습니다:설명
읽기 모드로 파일을 열고, 파일이 존재하지 않으면 예외를 발생시킵니다.Flag
읽기 모드로 파일을 열고, 파일이 존재하지 않으면 예외를 발생시킵니다.+r
동기적으로 파일을 읽습니다.읽기 쓰기 모드로 파일을 열고, 파일이 존재하지 않으면 예외를 발생시킵니다.
동기적으로 파일을 읽습니다.+rs
w동기적으로 파일을 읽고 쓰기합니다.
읽기 쓰기 모드로 파일을 열고, 파일이 존재하지 않으면 생성합니다.쓰기 모드로 파일을 열고, 파일이 존재하지 않으면 생성합니다.
w+와 유사하게 'w', 하지만 파일 경로가 존재하는 경우 파일 쓰기 실패가 발생합니다.
읽기 쓰기 모드로 파일을 열고, 파일이 존재하지 않으면 생성합니다.+wx+와 유사하게 'w
a추가 모드로 파일을 열고, 파일이 존재하지 않으면 생성합니다.
ax와 유사하게 'a', 하지만 파일 경로가 존재하는 경우 파일 추가 실패가 발생합니다.
a+읽기 추가 모드로 파일을 열고, 파일이 존재하지 않으면 생성합니다.
ax+와 유사하게 'a+하지만 파일 경로가 존재하는 경우, 파일 읽기 추가 실패가 발생합니다.

实例

다음은 file.js 파일을 생성하고 input.txt 파일을 읽고 쓰기 위해 열기 위한 코드입니다:

var fs = require("fs");
// 비동기 파일 열기
console.log("파일 열기 준비!");
fs.open('input.txt', 'r+', function(err, fd) {
   if(err) {
       return console.error(err);
   }
  console.log("파일 열림 성공!");     
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
准备打开文件!
文件打开成功!

파일 정보 가져오기

语法

다음은 비동기 모드로 파일 정보를 가져오는 문법 형식입니다:

fs.stat(path, callback)

参数

参数使用说明如下:

  • path - 文件路径。

  • callback - 콜백 함수는 두 개의 매개변수를 가지고 있습니다:(err, stats), stats fs.Stats 객체입니다.

fs.stat(path)가 실행된 후, stats 클래스의 인스턴스가 콜백 함수에 반환됩니다. stats 클래스에서 제공하는 메서드를 사용하여 파일의 관련 속성을 판단할 수 있습니다. 예를 들어 파일인지 여부를 판단하려면:

var fs = require('fs');
fs.stat('/Users/liuht/code/itbilu/demo/fs.js', function (err, stats) {
    console.log(stats.isFile());         //true
)

stats 클래스에서 제공하는 메서드는 다음과 같습니다:

메서드설명
stats.isFile()파일인 경우 true를 반환하며, 그렇지 않으면 false를 반환합니다.
stats.isDirectory()디렉토리인 경우 true를 반환하며, 그렇지 않으면 false를 반환합니다.
stats.isBlockDevice()블록 장치인 경우 true를 반환하며, 그렇지 않으면 false를 반환합니다.
stats.isCharacterDevice()기본 장치인 경우 true를 반환하며, 그렇지 않으면 false를 반환합니다.
stats.isSymbolicLink()소프트 링크이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
stats.isFIFO()FIFO이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. FIFO는 UNIX에서 특수한 타입의 명령管道입니다.
stats.isSocket()소켓이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

实例

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
console.log("파일 열기 준비!");
fs.stat('input.txt', function(err, stats) {
   if(err) {
       return console.error(err);
   }
   console.log(stats);
   console.log("파일 정보 읽기 성공!");
   
   // 파일 유형 검사
   console.log("파일 여부 (isFile)는 ? "); + stats.isFile());
   console.log("디렉토리 여부 (isDirectory)는 ? "); + stats.isDirectory());    
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
准备打开文件!
{ dev: 16777220,
  mode: 33188,
  nlink: 1,
  uid: 501,
  gid: 20,
  rdev: 0,
  blksize: 4096,
  ino: 40333161,
  size: 61,
  blocks: 8,
  atime: Mon Sep 07 2015 17:43:55 GMT+0800 (CST),
  mtime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST),
  ctime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST) }
파일 정보 읽기 성공!
파일 여부 (isFile)는 ? true
디렉토리 여부 (isDirectory)는 ? false

파일 쓰기

语法

다음은 비동기 모드에서 파일 쓰기의 문법 형식입니다:

fs.writeFile(file, data[, options], callback)

writeFile는 파일을 직접 열 때 기본적으로 w 모드이므로 파일이 존재하면 이 메서드로 쓰는 내용이 기존 파일 내용을 덮습니다.

参数

参数使用说明如下:

  • file - 파일 이름 또는 파일 디스크립터입니다.

  • data - 쓰기할 파일의 데이터는 String(문자열) 또는 Buffer(버퍼) 객체일 수 있습니다.

  • options - 이 매개변수는 {encoding, mode, flag}를 포함하는 객체입니다. 기본 인코딩은 utf입니다8, 모드는 0입니다666 flag은 'w'입니다

  • callback - 콜백 함수는 오류 정보 매개변수 (err) 만을 포함하고 있으며, 쓰기 실패 시 반환됩니다.

实例

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
console.log("파일 쓰기 준비 중");
fs.writeFile('input.txt', '저는 fs.writeFile를 통해 파일에 내용을 쓰는 것입니다', function(err) {
   if(err) {
       return console.error(err);
   }
   console.log("데이터 쓰기 성공!");
   console.log("--------나는 구분선입니다-------------")
   console.log("쓴 데이터를 읽어오세요!");
   fs.readFile('input.txt', function(err, data) {
      if(err) {
         return console.error(err);
      }
      console.log("비동기 파일 데이터 읽기: ", + data.toString());
   });
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
파일 쓰기 준비
데이터 쓰기 성공!
--------나는 구분선입니다-------------
쓴 데이터를 읽어오세요!
비동기 파일 데이터 읽기: 저는 fs.writeFile를 통해 파일에 쓴 내용입니다

파일 읽기

语法

아래는 비동기 모드에서 파일 읽기의 문법 형식입니다:

fs.read(fd, buffer, offset, length, position, callback)

이 메서드는 파일 설명자를 사용하여 파일을 읽습니다。

参数

参数使用说明如下:

  • fd - fs.open() 메서드를 통해 반환된 파일 설명자。

  • buffer - 데이터 쓰기의 버퍼。

  • offset - 버퍼에 쓰일 쓰기 오프셋。

  • length - 파일에서 읽을 바이트 수。

  • position - 파일 읽기 시작 위치, position의 값이 null이면 현재 파일 포인터 위치에서 읽습니다。

  • callback - 콜백 함수는 err, bytesRead, buffer 세 가지 매개변수를 가집니다. err은 오류 정보, bytesRead는 읽은 바이트 수, buffer는 버퍼 객체입니다。

实例

input.txt 文件内容为:

기본 튜토리얼 웹사이트 주소: ko.oldtoolbag.com

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("기존 파일을 열기 준비!");
fs.open('input.txt', 'r+', function(err, fd) {
   if(err) {
       return console.error(err);
   }
   console.log("파일 열림 성공!");
   console.log("파일 읽기 준비:");
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) {
      if (err) {
         console.log(err);
      }
      console.log(bytes + "    바이트가 읽혀졌습니다");
      
      // 仅输出读取的字节
      if (bytes > 0) {
         console.log(buf.slice(0, bytes).toString());
      }
   });
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
기존 파일을 열기 준비!
文件打开成功!
파일 읽기 준비:
42  바이트가 읽혀졌습니다
기본 튜토리얼 웹사이트 주소: ko.oldtoolbag.com

关闭文件

语法

아래는 비동기 모드에서 파일 닫기의 문법 형식입니다:

fs.close(fd, callback)

이 메서드는 파일 설명자를 사용하여 파일을 읽습니다。

参数

参数使用说明如下:

  • fd - fs.open() 메서드를 통해 반환된 파일 설명자。

  • callback - 回调函数,没有参数。

实例

input.txt 文件内容为:

기본 튜토리얼 웹사이트 주소: ko.oldtoolbag.com

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("파일 열기 준비!");
fs.open('input.txt', 'r+', function(err, fd) {
   if(err) {
       return console.error(err);
   }
   console.log("파일 열림 성공!");
   console.log("파일 읽기 준비!");
   fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) {
      if (err) {
         console.log(err);
      }
      // 仅输出读取的字节
      if (bytes > 0) {
         console.log(buf.slice(0, bytes).toString());
      }
      // 关闭文件
      fs.close(fd, function(err) {
         if (err) {
            console.log(err);
         } 
         console.log("파일 닫기 성공");
      });
   });
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
准备打开文件!
文件打开成功!
파일 읽기 준비!
기본 튜토리얼 웹사이트 주소: ko.oldtoolbag.com
文件关闭成功

截取文件

语法

아래는 비동기 모드에서 파일 자르기의 문법 형식입니다:

fs.ftruncate(fd, len, callback)

이 메서드는 파일 설명자를 사용하여 파일을 읽습니다。

参数

参数使用说明如下:

  • fd - fs.open() 메서드를 통해 반환된 파일 설명자。

  • len - 파일 내용 자르기 길이。

  • callback - 回调函数,没有参数。

实例

input.txt 文件内容为:

site:ko.oldtoolbag.com

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("파일 열기 준비!");
fs.open('input.txt', 'r+', function(err, fd) {
   if(err) {
       return console.error(err);
   }
   console.log("파일 열림 성공!");
   console.log("截取"}10字节内的文件内容,超出部分将被去除。
   
   // 截取文件
   fs.ftruncate(fd, 10, function(err) {
      if (err) {
         console.log(err);
      } 
      console.log("文件截取成功。");
      console.log("读取相同的文件"); 
      fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) {
         if (err) {
            console.log(err);
         }
         // 仅输出读取的字节
         if (bytes > 0) {
            console.log(buf.slice(0, bytes).toString());
         }
         // 关闭文件
         fs.close(fd, function(err) {
            if (err) {
               console.log(err);
            } 
            console.log("文件关闭成功!");
         });
      });
   });
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
准备打开文件!
文件打开成功!
截取10字节内的文件内容,超出部分将被去除。
文件截取成功。
读取相同的文件
site:www.r
文件关闭成功

删除文件

语法

以下为删除文件的语法格式:

fs.unlink(path, callback)

参数

参数使用说明如下:

  • path - 文件路径。

  • callback - 回调函数,没有参数。

实例

input.txt 文件内容为:

site:ko.oldtoolbag.com

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
console.log("准备删除文件!");
fs.unlink('input.txt', function(err) {
   if(err) {
       return console.error(err);
   }
   console.log("文件删除成功!");
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
准备删除文件!
文件删除成功!

再去查看 input.txt 文件,发现已经不存在了。

创建目录

语法

以下为创建目录的语法格式:

fs.mkdir(path[, options], callback)

参数

参数使用说明如下:

  • path - 文件路径。

  • options 参数可以是:

    • recursive - 是否以递归的方式创建目录,默认为 false。

    • mode - 设置目录权限,默认为 0777。

  • callback - 回调函数,没有参数。

实例

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
// tmp 目录必须存在
console.log("创建目录 /tmp/test/");
fs.mkdir("/tmp/test/
   if(err) {
       return console.error(err);
   }
   console.log("目录创建成功。");
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
创建目录 /tmp/test/
目录创建成功。

可以添加  recursive: true 参数,不管创建的目录  /tmp 和 /tmp/a 是否存在:

fs.mkdir('/tmp/a/apple', { recursive: true }, (err) => {
  if (err) throw err;
});

读取目录

语法

以下为读取目录的语法格式:

fs.readdir(path, callback)

参数

参数使用说明如下:

  • path - 文件路径。

  • callback - 回调函数,回调函数带有两个参数err, files,err 为错误信息,files 为 目录下的文件数组列表。

实例

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
console.log("查看 /tmp 디렉토리");
fs.readdir("/tmp/",function(err, files){
   if(err) {
       return console.error(err);
   }
   files.forEach(function(file){
       console.log(file);
   });
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
查看 /tmp 디렉토리
input.out
output.out
test
test.txt

删除目录

语法

以下为删除目录的语法格式:

fs.rmdir(path, callback)

参数

参数使用说明如下:

  • path - 文件路径。

  • callback - 回调函数,没有参数。

实例

接下来我们创建 file.js 文件,代码如下所示:

var fs = require("fs");
// 执行前创建一个空的 /tmp/test 目录
console.log("准备删除目录 /tmp/test");
/tmp/test
   if(err) {
       return console.error(err);
   }
   console.log("읽기 /tmp 디렉토리");
   fs.readdir("/tmp/",function(err, files){
      if(err) {
          return console.error(err);
      }
      files.forEach(function(file){
          console.log(file);
      });
   });
});

위 코드의 실행 결과는 다음과 같습니다:

$ node file.js 
삭제할 디렉토리 준비 /tmp/test
읽기 /tmp 디렉토리
……

파일 모듈 메서드 참조 매뉴얼

아래는 Node.js 파일 모듈의 동일한 메서드 목록입니다:

순번메서드 & 설명
1fs.rename(oldPath, newPath, callback)
비동기 rename(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
2fs.ftruncate(fd, len, callback)
비동기 ftruncate(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
3fs.ftruncateSync(fd, len)
동기 ftruncate()
4fs.truncate(path, len, callback)
비동기 truncate(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
5fs.truncateSync(path, len)
동기 truncate().
6fs.chown(path, uid, gid, callback)
비동기 chown(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
7fs.chownSync(path, uid, gid)
동기 chown().
8fs.fchown(fd, uid, gid, callback)
비동기 fchown(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
9fs.fchownSync(fd, uid, gid)
동기 fchown().
10fs.lchown(path, uid, gid, callback)
비동기 lchown(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
11fs.lchownSync(path, uid, gid)
동기 lchown().
12fs.chmod(path, mode, callback)
비동기 chmod(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
13fs.chmodSync(path, mode)
동기 chmod().
14fs.fchmod(fd, mode, callback)
비동기 fchmod(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
15fs.fchmodSync(fd, mode)
동기 fchmod().
16fs.lchmod(path, mode, callback)
비동기 lchmod(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다. macOS X에서만 사용 가능.
17fs.lchmodSync(path, mode)
동기 lchmod().
18fs.stat(path, callback)
비동기 stat(). 콜백 함수는 err, stats 두 가지 매개변수를 가집니다., stats는 fs.Stats 객체입니다.
19fs.lstat(path, callback)
비동기 lstat(). 콜백 함수는 err, stats 두 가지 매개변수를 가집니다., stats는 fs.Stats 객체입니다.
20fs.fstat(fd, callback)
비동기 fstat(). 콜백 함수는 err, stats 두 가지 매개변수를 가집니다., stats는 fs.Stats 객체입니다.
21fs.statSync(path)
stat() 동기화. fs.Stats 인스턴스를 반환합니다.
22fs.lstatSync(path)
동기화 lstat(). fs.Stats 인스턴스를 반환합니다.
23fs.fstatSync(fd)
동기화 fstat(). fs.Stats 인스턴스를 반환합니다.
24fs.link(srcpath, dstpath, callback)
). 비동기 link(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
25fs.linkSync(srcpath, dstpath)
동기화 link().
26fs.symlink(srcpath, dstpath[, type], callback)
). 비동기 symlink(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다. type 매개변수는 'dir', 'file', 또는 'junction' (기본적으로 'file')로 설정할 수 있습니다.
27fs.symlinkSync(srcpath, dstpath[, type])
동기화 symlink().
28fs.readlink(path, callback)
). 비동기 readlink(). 콜백 함수는 err, linkString 두 매개변수를 가집니다.
29fs.realpath(path[, cache], callback)
). 비동기 realpath(). 콜백 함수는 err, resolvedPath 두 매개변수를 가집니다.
30fs.realpathSync(path[, cache])
동기화 realpath(). 절대 경로를 반환합니다.
31fs.unlink(path, callback)
). 비동기 unlink(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
32fs.unlinkSync(path)
동기화 unlink().
33fs.rmdir(path, callback)
). 비동기 rmdir(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.
34fs.rmdirSync(path)
동기화 rmdir().
35fs.mkdir(path[, mode], callback)
비동기 mkdir(2). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다. 접근 권한은 기본적으로 0입니다777。
36fs.mkdirSync(path[, mode])
동기화 mkdir().
37fs.readdir(path, callback)
비동기 readdir(3). 디렉토리의 내용을 읽습니다.
38fs.readdirSync(path)
동기화 readdir(). 파일 배열 목록을 반환합니다.
39fs.close(fd, callback)
비동기 close(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다。
40fs.closeSync(fd)
동기 close().
41fs.open(path, flags[, mode], callback)
비동기 파일 열기。
42fs.openSync(path, flags[, mode])
동기 fs.open() 버전.
43fs.utimes(path, atime, mtime, callback)
 
44fs.utimesSync(path, atime, mtime)
파일 시간 스탑스를 지정된 파일 경로로 수정합니다。
45fs.futimes(fd, atime, mtime, callback)
 
46fs.futimesSync(fd, atime, mtime)
파일 시간 스탑스를 파일描述자로 지정하여 수정합니다。
47fs.fsync(fd, callback)
비동기 fsync. 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다。
48fs.fsyncSync(fd)
동기 fsync.
49fs.write(fd, buffer, offset, length[, position], callback)
버퍼 내용을 파일描述자로 지정된 파일에 쓰습니다。
50fs.write(fd, data[, position[, encoding]], callback)
파일描述자 fd를 통해 파일 내용을 쓰습니다。
51fs.writeSync(fd, buffer, offset, length[, position])
동기 버전의 fs.write()。
52fs.writeSync(fd, data[, position[, encoding]])
동기 버전의 fs.write().
53fs.read(fd, buffer, offset, length, position, callback)
파일描述자 fd를 통해 파일 내용을 읽습니다。
54fs.readSync(fd, buffer, offset, length, position)
동기 버전의 fs.read.
55fs.readFile(filename[, options], callback)
비동기 파일 내용 읽기。
56fs.readFileSync(filename[, options])
동기 버전의 fs.readFile.
57fs.writeFile(filename, data[, options], callback)
비동기로 파일 내용을 쓰습니다。
58fs.writeFileSync(filename, data[, options])
fs.writeFile의 동기 버전.
59fs.appendFile(filename, data[, options], callback)
비동기로 파일 내용을 추가합니다。
60fs.appendFileSync(filename, data[, options])
fs.appendFile의 동기 버전.
61fs.watchFile(filename[, options], listener)
파일의 변경을 확인합니다。
62fs.unwatchFile(filename[, listener])
filename의 변경을 확인하는 것을 중지합니다。
63fs.watch(filename[, options][, listener])
filename의 변경을 확인합니다,filename은 파일이나 디렉토리일 수 있습니다. fs.FSWatcher 객체를 반환합니다。
64fs.exists(path, callback)
주어진 경로가 존재하는지 검사합니다。
65fs.existsSync(path)
fs.exists의 동기 버전.
66fs.access(path[, mode], callback)
지정된 경로의 사용자 권한을 테스트합니다。
67fs.accessSync(path[, mode])
fs.access의 동기 버전.
68fs.createReadStream(path[, options])
ReadStream 객체를 반환합니다.
69fs.createWriteStream(path[, options])
WriteStream 객체를 반환합니다.
70fs.symlink(srcpath, dstpath[, type], callback)
비동기 symlink(). 콜백 함수는 매개변수가 없지만 예외를 던질 수 있습니다.

更多 내용은 공식 웹사이트 파일 모듈 설명을 확인하세요:파일 시스템