menu
more_vert

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

作者:dayu

//也可以不填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)})

删除成功 即为nullconsole.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是一个数组 需要forEachfunctionfile))支持

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)

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

原文地址:http://www.cnblogs.com/AzukiAzusa/p/7192196.html