Node.js 内置模块fs(文件系统)
fs模块的三个常用方法
1.fs.readFile() -- 读文件
2.fs.writeFile() -- 写文件
3.fa.stat() -- 查看文件信息
fs模块不同于其它模块的地方是它有异步和同步两种方法,其它模块只有异步方法,异步和同步的方法名区别在于同步方法在异步的方法名后面加了"Sync"
1.fs.readFile()
//使用ES的严格模式
"use strict";
//引入fs模块
const fs = require("fs");
fs.readFile("test.txt", "utf-8", function (err, data) {
//判断文件是否正确读取,err存储着读取时的错误信息
if(err){
console.log(err);
} else {
//正确读取时打印读取出来的信息
console.log(data);
}
});
注:不加第二个参数"utf-8"时data输出的将是一个Buffer对象
可以将Buffer转换成String:data.toString()
String转换成Buffer对象:Buffer.from(data, "uft-8");
test.txt与该js脚本是在同一文件夹下的
上面是异步读取文件的方式,下面是同步读取文件的方式
//判断同步读取是否出错
try{
let file = fs.readFileSync("test.txt", "utf-8");
console.log(file);
} catch( err ) {
//如果出错就打印出出错信息
console.log(err);
}
2.fs.writeFile()
"use strict";
const fs = require("fs");
fs.writeFile("test.txt", "你要写入的信息", function(err) {
if(err) {
console.log(err);
} else {
console.log("Write OK!");
}
});
同步写入文件方法与readFile类似,这里就不赘述了
3.fs.stat()
"use strick";
const fs = require("fs");
fs.stat("test.txt", function(err, stat){
if(err) {
console.log(err);
} else {
console.log("是否是文件:" + stat.isFile());
console.log("是否是文件夹:" + stat.isDirectory() );
if( stat.isFile() ) {
//输出文件大小
console.log("文件的大小是:" + stat.size );
//输出文件的创建日期
console.log("文件的创建日期是:" + stat.birthtime );
//输出文件的最近一次修改的日期
console.log("文件的最近一次修改日期是:" + stat.mtime );
}
}
});
同步方法与readFile同步方法类似,不再赘述
不过stat同步方法与异步方法有一些不同的地方
1.stat异步方法使用的时间是你现在所在时区的时间
2.stat同步方法使用的时间是中时区的时间
Node.js 内置模块fs(文件系统)的更多相关文章
- Node.js:fs文件系统模块
fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, ...
- node.js中fs文件系统模块的使用
node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作. fs模块中,所有的方法分为同步和异步两种实现. 有 sync 后缀的方法为同步方法,没有 sync 后缀的方法 ...
- Node.js 内置模块fs的readdir方法 查看某个文件夹里面包含的文件内容
fs.readdir(path[, options], callback) 例: "use strict"; const fs = require("fs"); ...
- Node.js之操作文件系统(一)
Node.js之操作文件系统(一) 1. 同步方法与异步方法 在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除操作.,在fs模块中,所有对文件及目录的操作都可以使用同步与异步 ...
- Node.js之操作文件系统(二)
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...
- 在Node.js中操作文件系统(一)
在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...
- node.js的fs核心模块读写文件操作 -----由浅入深
node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFil ...
- Node.js使用fs.renameSync报cross-device link not permitted错误
在Node.js中,我们可以使用formidable模块来轻松地实现文件上传功能,代码如下: var Q = require('q'); var util = require('util'); var ...
- 解决Node.js调用fs.renameSync报错的问题(Error: EXDEV, cross-device link not permitted)
2014-08-23 今天开始学习Node.js,在写一个文件上传的功能时候,调用fs.renameSync方法错误 出错代码所在如下: function upload(response,reques ...
随机推荐
- 我读过的最好的epoll讲解
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象. 不管是文件,还是套接字,还是管道,我们都可以把他们看作流. 之后我们来讨论I ...
- 那些让你代码思维和能力有较大的提升Java源码(转)
对于学习J2EE的框架有很大的帮助,代码里使用了各种设计模式.事件机制.Java8语法.代码量也很小,web服务使用Netty作为支持,对HTTP/网络想研究的一定是你的必读品.目前在写 Blade- ...
- struts2的核心和工作原理 (转)
转自--------http://blog.csdn.net/laner0515/article/details/27692673 在学习struts2之前,首先我们要明白使用struts2的目的是什 ...
- C#实现(递归和非递归)高速排序和简单排序等一系列排序算法
本人由于近期工作用到了一些排序算法.就把几个简单的排序算法.想冒泡排序,选择排序,插入排序.奇偶排序和高速排序等整理了出来,代码用C#代码实现,而且通过了測试.希望能给大家提供參考. ...
- linux source命令与sh shell scripts的区别
source FileName 作用:在当前bash环境下读取并执行FileName中的命令. 注:该命令通常用命令“.”来替代. 如:source .bash_rc 与 . .bash_rc 是等效 ...
- 基于S3C2440的linux-3.6.6移植——LED驱动【转】
本文转载自:http://www.voidcn.com/blog/lqxandroid2012/article/p-625005.html 目前的linux版本的许多驱动都是基于设备模型,LED也不例 ...
- win8系统在安装软件时安装framework3.5失败的解决办法
win8系统在,许多软件都需求安装framework3.5,但是很多用户都是安装失败,联网失败,据网上的许多人说有用cmd输入命令,然后到100%,就会成功安装framework3.5(如这个方法:w ...
- BluetoothLELibrary 支持1对1连接
github地址:https://github.com/qindachang/BluetoothLELibrary 该库只支持1对1连接,如果你想1对多设备连接,请移步至 BluetoothLE-Mu ...
- 在Angular.js中的H5页面调用Web api时跨域问题处理
/// <summary> /// 被请求时 /// 在Angular.js中的H5页面调用Web api时跨域问题处理 /// </summary> /// <para ...
- css控制字符长度超出变成点点点显示(单行,多行)
css控制字符长度超出变成点点点显示 单行: width 必不可少 div{ width: 55%; text-overflow: ellipsis; overflow: hidden; white- ...