process 模块 在使用的时候无需通过 require() 函数来加载该模块,可以直接使用。
fs 模块,在使用的时候,必须通过 require() 函数来加载该模块,方可使用。
原因:process 模块是全局的模块,而 fs 模块不是全局模块。全局模块可以直接使用,而非全局模块需要通过 require('')  加载该模块。
 

一、实现文件写入操作

 //1.加载文件操作模块,fs 模块
var fs = require('fs'); //2.实现文件写入操作
var msg = "hello world,你好世界"; //调用 fs.writeFile() 进行文件写入
// fs.writeFile() 是异步方法
// fs.writeFile('写入文件的路径','要写入的数据','文档编码格式','回调函数')
fs.writeFile('hello.txt', msg, 'utf8', (err) => {
//如果 err===null,表示文件写入
//只要 err 里面不是null,就表示写入文件失败了!
if (err) {
console.log('写入文件出错拉!具体错误:' + err)
} else {
console.log('ok');
}
});

二、实现文件读取操作

 //1.加载文件操作模块,fs 模块
var fs = require('fs'); //2.调用 fs.readFile() 方法来读取文件
// fs.readFile('读取文件的路径','文件编码格式','回调函数')
//在读取文件的时候,如果传递了编码格式,那么回调函数中的 data默认就会转换为 字符串,否则data 参数的数据是一个 Buffer 对象,里面保存的就是一个一个的字节(理解为字节数组)
//把 Buffer 对象转换为字符串,调用 toString() 方法 fs.readFile('./hello.txt', 'utf8', (err, data) => {
if (err) {
throw err;
} else {
console.log(data);
}
});
1.读取文件中的路径问题
 ./  相对路径,相对的执行 node 命令的路径,而不是相对于正在执行的这个 js 文件来查找 hello.txt
解决在文件读取中 ./ 相对路径的问题
解决方法:使用  __dirname、__filename
__dirname:表示,当前正在执行的 js 文件所在的目录
___filename:表示,当前正在执行的 js 文件的完整路径
 
// console.log(__dirname);   C:\Users\zhuyujie\Desktop\nodejs\1.fs
// console.log(__filename);   C:\Users\zhuyujie\Desktop\nodejs\1.fs\2.fs_readFile.js

注:__dirname、___filename并不是全局的
 
应该将上面代码的路径修改成:
 var fs = require('fs');

 // var filename= __dirname+'\\'+'hello.txt'  (不推荐使用)

 //推荐使用通过 path 模块进行路径拼接
var path = require('path'); var filename = path.join(__dirname, 'hello.txt') // console.log(filename); fs.readFile(filename, 'utf8', (err, data) => {
if (err) {
throw err;
}
console.log(data); });

三、创建文件夹

 var fs=require('fs');

 fs.mkdir('test-mkdir',(err)=>{
if (err) {
console.log('创建目录出错了,详情'+err);
} else {
console.log('创建目录成功');
}
});
 
 

Node.js--fs 文件操作的更多相关文章

  1. node.js零基础详细教程(2):模块化、fs文件操作模块、http创建服务模块

    第二章  建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑 ...

  2. 02-Node.js学习笔记-系统模块fs文件操作

    2.1.什么是系统模块 Node 运行环境提供的API,因为这些API都是以模块化的方式进行开发的,所有我们又称Node运行环境提供的API为系统模块 3.1系统模块fs文件操作 //f :file ...

  3. nodejs零基础详细教程2:模块化、fs文件操作模块、http创建服务模块

    第二章  建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑 ...

  4. 从官网学习Node.js FS模块方法速查

    最新文档请查看仓库 https://github.com/wangduandu... 1. File System 所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API 异步方式其最后一个参 ...

  5. 三、fs文件操作模块

    fs模块用于文件的读写等操作. 该模块有如下这些方法: 1.fs.stat() : 检测是文件还是目录 const fs = require('fs'); fs.stat('test.html',fu ...

  6. Node.js FS模块方法速查

    1. File System 所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API 异步方式其最后一个参数是回调函数.回调函数的第一个参数往往是错误对象,如果没有发生参数,那么第一个参数可能 ...

  7. Node.js写文件的三种方法

    Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...

  8. [转]Node.JS使用Sequelize操作MySQL

    Sequelize官方文档  https://sequelize.readthedocs.io/en/latest/ 本文转自:https://www.jianshu.com/p/797e10fe23 ...

  9. node.js读写文件

    关于node.js的读写操作,应用场景有很多.比如其中这样的一个场景,如何获取全局的token.这就涉及到写和读操作了. 写操作: var fs = require("fs"); ...

  10. Node.js读取文件内容

    原文链接:http://blog.csdn.net/zk437092645/article/details/9231787 Node.js读取文件内容包括同步和异步两种方式. 1.同步读取,调用的是r ...

随机推荐

  1. Angular 一个简单的指令实现 阻止事件扩散

    //指令定义 @Directive({ selector: `click-stop-propagation` events: 'stopClick($event)' }) class ClickSto ...

  2. ps:消除锯齿和羽化

    我们使用椭圆选框工具,分别关闭和打开消除锯齿(也称抗锯齿),创建两个差不多大的正圆形选区,然后填充黑色看看.怎样快速填充黑色还记得吗?先[X]然后[ALT DELETE].填充之后取消选择[CTRL ...

  3. prufer 序列 学习笔记

    prufer 序列是一种无根树的序列,对于一个 \(n\) 个点的树,其 prufer 序列的长度为 \(n-2\). prufer 序列和原树之间都可以唯一地相互转化. 构造 构造 prufer 序 ...

  4. 027:for标签使用详解

    for标签使用详解: for...in... 标签: for...in... 类似于 Python 中的 for...in... .可以遍历列表.元组.字符串.字典等一切可以遍历的对象.示例代码如下: ...

  5. c++11 默认函数的控制

    1. 类与默认函数: C++中声明自定义的类,编译器会默认生成未定义的成员函数: 构造函数 拷贝构造函数 拷贝赋值函数(operator=) 移动构造函数 移动拷贝函数 析构函数 编译器还会提供全局默 ...

  6. 英语单词leading

    leading 来源——https://www.docker.com/products/docker-hub 翻译 a. 领导的,指导的:最主要的 词根词缀词源 leader汉语英译为了“领导”

  7. Windows环境下使用Mycat模拟分库分表-读写分离案例

    一.基本环境 W7 64位.Mycat1.6.MySQL8.0 二.Mycat核心配置文件配置 解压Mycat1.6,并对server.xml.schema.xml.rule.xml三个核心配置文件做 ...

  8. 20180805-Java 异常处理

    try{ //程序代码}catch(ExceptionName e1){ //Catch 块} 下面的例子中声明有两个元素的一个数组,当代码试图访问数组的第三个元素的时候就会抛出一个异常. //文件名 ...

  9. [CSP-S模拟测试]:reverse(数位DP)

    题目描述 我们定义: $\overline{d_k...d_2d_1}=\sum \limits_{i=1}^kd_i\times {10}^{i-1}=n(d_i\in [0,9]\ and\ d_ ...

  10. I/O等待事件-db file scattered read

    摘自:http://blog.csdn.net/zq9017197/article/details/7925338