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. rabbitma客户端

    知道答案了,原因是重连的时候,每次重连都创建了一个新的线程,然后有信号的时候,每个线程都连接到rabbitMq服务器上去,导致了同一个IP通过不同端口链接上了服务器,出现了多个channel,而发多次 ...

  2. rabbitmq tags

    #用户角色####################### RabbitMQ的用户角色分类:none.management.policymaker.monitoring.administrator Ra ...

  3. uboot移植之迷雾解码

    按照蜗窝科技的步骤执行 一.有关硬件描述的填空题 1)CPU上电后,从哪种设备(       BOOTROM         )的哪个地址(        0x0000_0000       )开始执 ...

  4. IDEA中项目引入独立包打包失败问题解决(找不到包)

    在terminal中执行以下命令:mvn install:install-file -DgroupId=ocx.GetRandom -DartifactId=GetRandom -Dversion=1 ...

  5. 前端自动化gulp使用方法

    gulp介绍 1. 网站: http://slides.com/contra/gulp#/ 2. 特点 易于使用:通过代码优于配置的策略, Gulp 让简单的任务简单,复杂的任务可管理. 构建快速 : ...

  6. JS原型链详解(2)

    深入理解javascript原型链 在javascript中原型和原型链是一个很神奇的东西,对于大多数人也是最难理解的一部分,掌握原型和原型链的本质是javascript进阶的重要一环.今天我分享一下 ...

  7. AndroidManifest.xml里加入不同package的component (Activity、Service里android:name里指定的值一般为句号加类名),可以通过指定完全类名(包名+类名)来解决

    我们都知道对于多个Activity如果在同一个包中,在Mainfest中可以这样注册 <span style="font-size: small;"><?xml  ...

  8. Hash树——数据结构

  9. Tomcat GC参数详解

    tomcat启动参数,将JVM GC信息写入tomcat_gc.log CATALINA_OPTS='-Xms512m -Xmx4096m -XX:PermSize=64M -XX:MaxNewSiz ...

  10. ruby file

    E:/AutoTHCN/lib/report/generate_report/web14/20190516/LoanTool.636936123857869205_190516_140514.xlsx ...