博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【08】node 之 fs文件
阅读量:6831 次
发布时间:2019-06-26

本文共 3069 字,大约阅读时间需要 10 分钟。

var fs = require("fs");//fs 系统文件模块,对文件进行操作.Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。

1.文件读取

var fs = require("fs"); fs.readFile('./a.txt',function(err,data){     if(err){         return console.error(err);     }    console.log("异步");    console.log(data.toString()); }) var dataSyn = fs.readFileSync('./a.txt'); console.log("同步") console.log(dataSyn.toString())

运行结果:

同步a.txt文件异步a.txt文件

2.文件信息

语法

以下为通过异步模式获取文件信息的语法格式:

fs.stat(path, callback)

 

参数

参数使用说明如下:

path - 文件路径。

callback - 回调函数,带有两个参数如:(err, stats), stats 是 fs.Stats 对象。

fs.stat(path)执行后,会将stats类的实例返回给其回调函数。可以通过stats类中的

 

实例:

var fs = require("fs"); fs.stat('./a.txt',function(err,data){     if(err){         return console.error(err);     }    console.log("异步");    console.log(data); }) var dataSyn = fs.statSync('./a.txt');  console.log("同步") console.log(dataSyn)

运行结果中stat信息:

ino: 3940649673949397,

size: 11,    ---文件大小,kb
blocks: undefined,
atime: 2017-07-08T02:25:14.894Z,
mtime: 2017-07-08T02:27:23.823Z,
ctime: 2017-07-08T02:27:23.823Z,
birthtime: 2017-07-08T02:25:14.894Z  ---文件产生时间

 

常用到的方法:

dataSycn.birthtime

dataSycn.size

dataSyn.isDirectory()

3.写文件

语法

以下为异步模式下写入文件的语法格式:

fs.writeFile(filename, data[, options], callback)

如果文件存在,该方法写入的内容会覆盖旧的文件内容。

 

参数

参数使用说明如下:

path - 文件路径。

data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(流) 对象。

options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 'w'

callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

 

实例:

// fs.writeFile(filename,data,[options],callback);var w_data = '这是一段通过fs.writeFile函数写入的内容;\r\n';var w_data = new Buffer(w_data);/** * filename, 必选参数,文件名 * data, 写入的数据,可以字符或一个Buffer对象 * [options],flag,mode(权限),encoding * callback 读取文件后的回调函数,参数默认第一个err,第二个data 数据 */fs.writeFile(__dirname + '/test.txt', w_data, {flag: 'a'}, function (err) {   if(err) {    console.error(err);    } else {       console.log('写入成功');    }});

 

追加方式写文件

// fs.appendFile(filename,data,[options],callback);fs.appendFile(__dirname + '/test.txt', '使用fs.appendFile追加文件内容', function () {  console.log('追加内容完成');});

4.删除文件

语法

以下为删除文件的语法格式:

fs.unlink(path, callback)

 

参数

参数使用说明如下:

path - 文件路径。

callback - 回调函数,没有参数。

 

实例

var fs = require("fs");console.log("准备删除文件!");fs.unlink('./my.txt', function(err) {   if (err) {       return ;   }   console.log("文件删除成功!");});

 

5.删除文件夹

//获取当前目录下面所有的文件及文件夹fs.readdir(".",function(err,files){        console.log(files);});

 

删除空文件

语法

以下为删除文件的语法格式:
fs.rmdir(path, callback)

参数

参数使用说明如下:
path - 文件夹路径。
callback - 回调函数,没有参数。

var fs = require(“fs”);fs.rmdir('./aaa', function(err) {   if (err) {       return ;   }   console.log("文件夹删除成功!");});

删除有内容的文件

/删除一个非空的文件夹(递归)function delDir(dirPath){    //删除目录,必须先删除目录中所有内容(文件和文件夹)。    //获取目录下面的所有内容。    var files = fs.readdirSync(dirPath);    //遍历文件列表    for (var i=0;i

6.创建目录

//使用fs.mkdir创建目录//fs.mkdir(path, [mode], callback);/** * path, 被创建目录的完整路径及目录名; * [mode], 目录权限,默认0777 * [callback(err)], 创建完目录回调函数,err错误对象 */fs.mkdir(__dirname + '/fsDir', function (err) {  if(err)    throw err;  console.log('创建目录成功')});

 

转载于:https://www.cnblogs.com/yeziTesting/p/7136229.html

你可能感兴趣的文章