Node.js中内置文件系统一些常用的方法总结

文件系统(fs)

首先引入内置模块:var fs = require(fs);

readFile

1.异步读取一个文件的全部内容:fs.readFile(“./filename”,[options],function(err,data){statements})

// fs.readFile(‘./88.txt‘,‘utf-8‘,function(err,data){

// if(!err){

// console.log("读取成功");

// console.log(data);

// }else{

// console.log("读取出错");

// // console.log(err);

// }

// })

注释:

Filename为文件路径

回调函数function传递了两个参数 (err, data), data 就是文件的内容。

[options]如果未指定编码方式,原生buffer就会被返回。

2.同步读取一个文件的全部内容:

fs.readFileSync(“./filename”,[options])

// var data = fs.readFileSync(‘./88.txt‘,‘utf-8‘);

// console.log("同步读取: " + data.toString());

//也可以不填options而用toString()方法

// console.log("程序执行完毕。");

注释:

fs.readFile的同步版本。 返回文件名为 filename 的文件内容。

如果未指定编码方式[options],原生buffer(二进制)就会被返回。

writeFile

1.异步写入一个文件,如果文件原先存在,会被替换。(如果没有该文件则会新创建一个同名称文件)

fs.writeFile(“filename”,”data”,[options],function(err,data){})

var fs = require("fs");

console.log("准备开始写入");

var w=‘我是通过writeFile写入的内容‘;

fs.writeFile(‘./test.txt‘,w,{flag:‘a‘},function(err,data){

if(!err){

console.log("写入成功!");

console.log("-----分割线----");

fs.readFile(‘./test.txt‘,‘utf8‘,function(err,data){

console.log("读取内容为:");

console.log(data);

})

}else{

console.log("写入错误:");

console.log(err);

}

})

 

注释:

异步的将数据写入一个文件, 如果文件原先存在,会被替换。 data 可以是一个string,也可以是一个原生buffer。

[options]中 {flag:‘a‘} 不会覆盖住原先的内容而是接着后面写(追加的方式)

2.同步写入内容:

fs.writeFileSync(‘filename’,’data’,[options])

注释:

writeFile的同步版本;

appendFile

1.异步的将数据添加到一个文件的尾部,如果文件不存在,会创建一个新的文件。 data 可以是一个string,也可以是原生buffer。

fs.appendFile(‘Filename’,data,[options],function(err,data){})

注释:

和writeFile()方法同理;

2.异步的将数据添加到一个文件的尾部

fs.appendFileSync(filename, data, [options]);

fs.appendFile的同步版本。

Exists

1.检查指定路径的文件或者目录是否存在。接着通过 callback 传入的参数指明存在 (true) 或者不存在 (false)。

Fs.exists(path,function(msg){console.log(msg)});

fs.exists(‘./test.txt‘,function(msg){

console.log(msg);

})

//true  存在       //false   不存在

2.同步检查指定路径的文件或者目录是否存在。

Fs.existsSync(path);

var exist = fs.existsSync(‘./test.txt‘);

console.log(exist);

//true  存在       //false   不存在

unlink

1.异步删除一个文件完成时的回调函数(callback)只接受一个参数(msg):

 fs.unlink(path,function(msg){console.log(msg)})

 

 

删除成功 即为null!console.log(msg) //null

删除错误(文件不存在)

{ Error: ENOENT: no such file or directory, unlink ‘path‘

errno: -4058,

code: ‘ENOENT‘,

syscall: ‘unlink‘,

path: ‘C:\\Users\\Administrator\\Desktop\\11\\test.txt‘ }

 

 

2.同步版的unlink

Var unlink=fs.unlinkSync(path);

Console.log(unlink);

mkdir

1.异步创建一个空目录

 fs.mkdir(path,[mode],function(err){if(!err){console.log(创建成功)}});

 

fs.mkdir(‘./abc/test‘,function(err){

if(!err){

console.log("创建成功");

}else{

console.log(err);

}

})

2.同步创建一个空文件夹

fs.mkdirSync(path,[mode]);

 

 

 

 

readdir

1.异步读取一个文件夹下的所有目录:

fs.readdir(path,function(err,files))

fs.readdir(‘./abc‘,function(err,files){

if(!err){

console.log("读取成功:");

files.forEach(function(file){

console.log(file);

})

}else{

console.log(err);

}

})

注释:files是一个数组 需要forEach(function(file))支持

2.同步版readdir

Fs.readdirSync(path);

 

var read = fs.readdirSync(‘./abc‘);

console.log(read);

注释:返回的是一个数组;

rmdir

1.异步删除一个文件夹(目录),注意只能删除一个空的文件夹

fs.rmdir(path,function(err){if(err){return console.log(err);}})

fs.rmdir(‘./abc/test‘,function(err){

if(!err){

console.log("执行删除...");

console.log("删除成功!");

fs.readdir(‘./abc‘,function(err,files){

if(!err){

files.forEach(function(file){

console.log(file);

})

}

})

}else{

console.log("删除失败:");

console.log(err);

}

})

2.同步删除文件夹(空)

fs.rmdirSync(path)

时间: 2024-09-30 10:07:26

Node.js中内置文件系统一些常用的方法总结的相关文章

DataGridView中内置控件常用事件使用心得

checkbox,button,imagebutton使用dataGridView1_CellContentClick private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { tb.Text+=string.Format("\r\n{0},Row:{1},Column:{2}","单元格内容单击!",e.RowIndex,e.ColumnInd

Node.js中exports,module.exports以及require方法

在Node.js中,使用module.exports.f = ...与使用exports.f = ...是一样的,此时exports就是module.exports的一种简写方式.但是,需要注意的是,如果直接给exports赋值的话,exports就与module.exports没有任何关联了,比如: exports = { hello: false }; // Not exported, only available in the module 此时,exports是没有导出任何变量的. 要弄

node.js中实现同步操作的3种实现方法

众所周知,异步是得天独厚的特点和优势,但同时在程序中同步的需求(比如控制程序的执行顺序为:func1 -> func2 ->func3 )也是很常见的.本文就是对这个问题记录自己的一些想法. 需要执行的函数: var func1 = function(req,res,callback){ setTimeout(function(){ console.log('in func1'); callback(req,res,1); },13000); } var func2 = function(re

JSP内置对象及常用的方法

1.out: println():向客户端输出各种类型的数据 newLine():输出一个换行符 close():关闭输出流 fiush():输出缓冲区数据 clearBuffer():清除缓冲区数据,并且把数据输出到客户端 clear():清除缓冲区数据,但是不把数据输出到客户端 getBufferSize():返回缓冲区大小 2.request: getMethod():返回客户端向服务器端传送数据的方法 getParameter(String paramName):返回客户端传向服务器端传

JavaScript中内置对象的一些属性及方法

Javascript对象总结 JS中内置了17个对象,常用的是Array对象.Date对象.正则表达式对象.string对象.Global对象 Array对象中常用方法: Concat():表示把几个数组合并成一个数组. Join():返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来. Pop():移除数组最后一个元素. Shift():移除数组中第一个元素. unshift():在数组的第一项Slice(start,end):返回数组中的一段. Push():往数

Node.js 中使用 ES6 中的 import / export 的方法大全

转自原文 Node.js 中使用 ES6 中的 import / export 的方法大全, 2018.11 如何在 Node.js 中使用 import / export 的三种方法, 2018.8 nodejs_es6_tutorials 因为一些历史原因,虽然 Node.js 已经实现了 99% 的 ES6 新特性,不过截止 2018.8.10,How To Enable ES6 Imports in Node.JS 仍然是老大难问题 下面我来介绍三种方法可以让我们在 Node.js 中使

node.js模块之fs文件系统

fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 POSIX 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了异步的和同步的两个版本, 例如读取文件内容的函数有异步的 fs.readFile() 和同步的fs.readFileSync().我们以几个函数为代表,介绍 fs 常用的功能,并列出 fs 所有函数的定义和功能. fs.readFile(filename,[encoding],[callback(err,data)])是最简单的读取文件的

笔记-Node.js中的核心API之HTTP

最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态.比如Node中的模块,平时练习就接触到那么几个,其他的一些模块暂时只会在学习的时候接触到,不常用便就荒废了.正所谓好记心不如烂笔头,多做笔记还是更有利于理解和记忆.自己做的总结也方便回头复习,所以决定踏上漫长的修炼之旅-- Node提供了许多API,其中一些比较重要.这些核心的API是所有Node应用的支柱,你会不停的用到他们. HTTP服务器 Nod

使用原生js自定义内置标签

使用原生js自定义内置标签 效果图 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA