Node.js--fs 文件操作

process 模块 在使用的时候无需通过 require() 函数来加载该模块,可以直接使用。

fs 模块,在使用的时候,必须通过 require() 函数来加载该模块,方可使用。

原因:process 模块是全局的模块,而 fs 模块不是全局模块。全局模块可以直接使用,而非全局模块需要通过 require(‘‘)  加载该模块。

一、实现文件写入操作

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

二、实现文件读取操作

 1 //1.加载文件操作模块,fs 模块
 2 var fs = require(‘fs‘);
 3
 4 //2.调用 fs.readFile() 方法来读取文件
 5 // fs.readFile(‘读取文件的路径‘,‘文件编码格式‘,‘回调函数‘)
 6 //在读取文件的时候,如果传递了编码格式,那么回调函数中的 data默认就会转换为 字符串,否则data 参数的数据是一个 Buffer 对象,里面保存的就是一个一个的字节(理解为字节数组)
 7 //把 Buffer 对象转换为字符串,调用 toString() 方法
 8
 9 fs.readFile(‘./hello.txt‘, ‘utf8‘, (err, data) => {
10     if (err) {
11         throw err;
12     } else {
13         console.log(data);
14     }
15 });

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并不是全局的

应该将上面代码的路径修改成:

 1 var fs = require(‘fs‘);
 2
 3 // var filename= __dirname+‘\\‘+‘hello.txt‘  (不推荐使用)
 4
 5 //推荐使用通过 path 模块进行路径拼接
 6 var path = require(‘path‘);
 7
 8 var filename = path.join(__dirname, ‘hello.txt‘)
 9
10 // console.log(filename);
11
12 fs.readFile(filename, ‘utf8‘, (err, data) => {
13     if (err) {
14         throw err;
15     }
16     console.log(data);
17
18 });

三、创建文件夹

1 var fs=require(‘fs‘);
2
3 fs.mkdir(‘test-mkdir‘,(err)=>{
4 if (err) {
5     console.log(‘创建目录出错了,详情‘+err);
6 } else {
7     console.log(‘创建目录成功‘);
8 }
9 });

原文地址:https://www.cnblogs.com/zhuyujie/p/11600943.html

时间: 2024-10-09 06:59:43

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

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

第二章  建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑.编写接口,最后完成一个完整的项目后台,预计共10天课程. 模块儿化  为什么需要模块儿化? 我们以前的常规js代码中,我们为了重用一些js代码,是将js方法封装起来,放到js文件中,然后在HTML页面中引入js,就可以在页面中使用这些方法了. 当这种直接引入和调用的方式存在一些不友好的地方,比如,

三、fs文件操作模块

fs模块用于文件的读写等操作. 该模块有如下这些方法: 1.fs.stat() : 检测是文件还是目录 const fs = require('fs'); fs.stat('test.html',function(err,stats){ if(err){ console.log(err); }else{ console.log('文件:' + stats.isFile()); //true console.log('目录:' + stats.isDirectory()); //false } }

node.js fs所有函数的定义和功能

表4-1 fs 模块函数表 功能 异步方法 同步方法 打开文件  fs.open(path,flags, [mode], [callback(err, fd)])  fs.openSync(path, flags, [mode]) 关闭文件  fs.close(fd, [callback(err)])  fs.closeSync(fd) 读取文件(文件描述符 )fs.read(fd,buffer,offset,length,position, [callback(err, bytesRead,

node.js中文件读取方式中流方式

1.node.js中文件读取流方式: var fs=require("fs"); var data; var s1=fs.createReadStream("input.txt"); s1.on("data",function(txt){ data+=txt; }) s1.on("end",function(){ console.log("文件流式读取成功!") }) 2.管道方式: var fs=requ

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

Sequelize官方文档  https://sequelize.readthedocs.io/en/latest/ 本文转自:https://www.jianshu.com/p/797e10fe2393 Node.JS提供了操作数据库的基础接口,我们可以通过mysql模块的query方法进行操作,但是需要编写SQL语句,对于SQL语句并不精通的人来说有一定的难度,而且在代码中保留SQL语句也有一定的危险性.为了方便进行数据库操作,ORM框架应运而生,Sequelize正是这样的模块. 安装Se

用node.js读写文件

node.js没有二进制数据类型,却提供了类似字节数组的“流“数据类型,着一种数据类型在文件系统模块中频频出现 node.js打开文件 fs = require('fs'); console.log('准备打开文件'); fs.open('/etc/hosts','r+',function (err,fd) { if (err) { console.log('damn~打开错误'); } console.log('可以打开'); fs.close(fd,function (err) { if (

node.js笔记——文件之间的引入

node.js的基础语法就是JavaScript的语法,所以对于懂得javascript的同学来说要容易一些,至于环境的配置也要相对简单很多,可以访问官方文档进行安装.这里分享一下我在学习中总结的一些东西,这是第一篇先来说说文件之间如何进行引入并互相使用变量及函数. 码缘»node.js笔记——文件之间的引入 http://www.ithome.ren/2017/05/31/node-js1.html

Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流

1 /* 2 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 3 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 4 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 5 4. fs.appendFile 写入追加文件 6 5. fs.readFile 读取文件 7 6. fs.readdir 读取目录 8 7. fs.rename 重命名 9 8. fs.rmdir 删除目录 10 9. fs.unlink 删除文件 11 */ 12

node.js 拷贝文件

Node.js提供了文件操作的api,但没有直接拷贝文件的相关操作.不过可以利用fs模块写个简单的拷贝文件程序. var fs = require('fs'); function copy(filename,src) { fs.writeFileSync(filename, fs.readFileSync(src)); //filename如果不存在,则会在路径上新建文件 } function main(argv) { copy(argv[0], argv[1]); //argv[0]为要拷贝的

node.js连接MySQL操作及注意事项

node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是node本身机制的一些问题,这里总结一下给新手做借鉴. 我朋友的数据库采用的是MySQL.(至于为什么不用mongoDB,这个是公司上层选型的结果,因为很多新手朋友似乎总是觉的node.js就是应该和mongoDB联系在一起,所以这里简单说下).我后来写了一个简单的小例子,整个小例子使用了express框