手记

【备战春招】第2天 新版 Node.js+Express+Koa2 开发Web Server博客 8-2

课程名称:新版 Node.js+Express+Koa2 开发Web Server博客

课程章节:8-2 nodejs文件操作

课程讲师: 双越

课程内容
代码演示:
在当前文件目录创建 data.txt 文件

// 文件操作基本库
const fs = require("fs");
// 路径操作基本库
const path = require("path");

// resolve() 拼接路径,__dirname node全局变量获取当前目录路径
const fileName = path.resolve(__dirname, "data.txt");

// 读取文件内容
// fs.readFile(fileName, (err, data) => {
//   if (err) {
//     console.error(err);
//     return;
//   }
//   // data 是二进制类型,需要转换为字符串
//   console.log(data.toString());
// });

// 写入文件
// const content = "这是新写入的内容\n";
// const opt = {
//   flag: "a", // 追加写入。覆盖用 'w'
// };

// fs.writeFile(fileName, content, opt, (err) => {
//   if (err) {
//     console.error(err);
//   }
// });

// 判断文件是否存在
fs.exists(fileName, (exist) => {
  console.log("exist", exist);
});

读取文件:fs.readFile(path[, options], callback)

path:文件名或文件描述符

option:可选,读取选项

  • encoding 默认值: null
  • flag 默认值: 'r'
  • signal 允许中止正在进行的读取文件

callback:回调函数

// 读取文件内容
fs.readFile(fileName, (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  // data 是二进制类型,需要转换为字符串
  console.log(data.toString());
});

写入文件:fs.writeFile(file, data[, options], callback)

file:文件名或文件描述符

data:写入文件的数据

option:可选,读取选项

  • encoding 默认值: utf8
  • mode 默认值: 0o666
  • flag 默认值: 'w'
  • signal 允许中止正在进行的写入文件

callback:回调函数

const content = "这是新写入的内容\n";
const opt = {
  flag: "a", // 追加写入。覆盖用 'w'
};
fs.writeFile(fileName, content, opt, (err) => {
  if (err) {
    console.error(err);
  }
});

判断文件是否存在:fs.exists(path, callback) 已启弃用,改用 fs.access()

path:文件路径

callback:回调函数

// 判断文件是否存在
fs.exists(fileName, (exist) => {
  console.log("exist", exist);
});

//改 fs.access()
fs.access("data.txt", (access) => {
  console.log("access", access);
});

课程收获

  1. 了解 fs 模块和 path 模块
  2. 对文件操作有一定的了解

0人推荐
随时随地看视频
慕课网APP