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. selenium下拉一个框内的滚动条

    js='document.getElementsByClassName("route-tree")[0].scrollTop=10000'

  2. 切面AOP的切点@Pointcut用法

    格式: execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern ...

  3. css3 动画实例

    animation 动画 animation-duration 代码实例: <!DOCTYPE html> <html> <head> <meta chars ...

  4. golang test模块

    1 创建文件夹testing101 2 被测试程序 package testing101 func Sum(numbers []int) int { sum :=0 for _,n :=range n ...

  5. man arch

    ARCH(1)   Linux Programmer?. Manual/Linux程序员手册       ARCH(1) NAME/名称       arch - print machine arch ...

  6. [洛谷P1709] 隐藏的口令

    问题描述 有时候程序员有很奇怪的方法来隐藏他们的口令.Binny会选择一个字符串S(由N个小写字母组成,5<=N<=5,000,000),然后他把S顺时针绕成一个圈,每次取一个做开头字母并 ...

  7. [CSP-S模拟测试]:Dinner(二分)

    题目描述 清儿今天请好朋友们吃饭,一共$N$个人坐在坐在圆桌旁.吃饭的第一步当然是点餐了.服务员拿来了$M$份菜单.第$i$个人阅读菜单并点出自己喜欢的菜需要花费时间$T_i$.当一个人点完菜之后,就 ...

  8. ThreadLocal学习资料

    下面的这一段代码运行起来,就会发生线程安全问题: 启动两个线程,同时去修改 name 属性值. package com.liwei.thread; /** * 下面的代码演示了线程安全发生的由来 * ...

  9. promise以及async、await学习总结

    Promise/async.await帮我们解决了什么 它给我们提供了一种新的异步编程解决方案,同时避免了困扰已久的回调地狱 // 异步的处理可能会产生这样的回调地狱(第二个异步操作和第一个异步的结果 ...

  10. apache主要配置详解

    1. # Deny access to the entirety of your server's filesystem. You must # explicitly permit access to ...