3.nodejs(三) 常用API (3)

res:

$ node buf4 abc abc buf42.js var buf1 = Buffer.from("abc"); //var buf2 = Buffer.from(buf1); var buf2 = Buffer.from("abc"); console.log(buf1.toString(),buf2.toString());//abc abc console.log(buf1 == buf2);//false console.log(buf1 === buf2);//false console.log(buf1.toString() == buf2.toString());//true console.log(Buffer.compare(buf1, buf2));//0 , 相同为0,不同为-1

res:

$ node buf42 abc abc false false true 0 buf5.js var str = "abc中文"; var buf = Buffer.from(str); console.log(buf); console.log(str.length); console.log(buf.length); console.log(Buffer.byteLength(buf));

res:

$ node buf5 <Buffer 61 62 63 e4 b8 ad e6 96 87> 5 9 9 buf6.js var str = "abc"; var arr = []; for(var i = 0; i < str.length; i++){ arr.push(Buffer.from(str[i]));//61 62 62 arr[buf1,buf2,buf3] } console.log(arr); console.log(Buffer.concat(arr));

res:

$ node buf6 [ <Buffer 61>, <Buffer 62>, <Buffer 63> ] <Buffer 61 62 63> buf7.js

Buffer.isBuffer() 判断是否是Buffer

var str = "abc"; console.log(Buffer.isBuffer(str)); var buf = Buffer.from(str); console.log(Buffer.isBuffer(buf));

res:

$ node buf7 false true buf8.js

.equals()判断buffer是否相等

const buf1 = Buffer.from('ABC'); const buf2 = Buffer.from('414243', 'hex');//ABC const buf3 = Buffer.from('ABCD'); // 输出: true console.log(buf1.equals(buf2)); // 输出: false console.log(buf1.equals(buf3));

res:

$ node buf8 true false buf9.js /* buf.includes/indexOf */ var buf = Buffer.from('abcdef'); console.log(buf.includes("def"));//是否包含"def" console.log(buf.indexOf("def")); //是否包含"def",有的话输出开始下标,没有的话输出-1;

res:

$ node buf9 true 3 buf10.js /* buf.includes/indexOf */ var buf = Buffer.from('abcdef'); console.log(buf.keys()); console.log(buf.values()); //buf是一个对象,需循环输出key和value console.log("------keys------------"); for(var n of buf.keys()){ console.log(n); } console.log("------values------------"); for(var n of buf.values()){ console.log(n,String.fromCharCode(n)); }

res:

$ node buf10 {} {} ------keys------------ 0 1 2 3 4 5 ------values------------ 97 'a' 98 'b' 99 'c' 100 'd' 101 'e' 102 'f' 5.fs 文件目录 文件

读写

fs.readFile    读
fs.writeFile    写
fs.appendFile   添加内容
fs.unlink     删除
fs.copyFile    复制

目录

fs.mkdir   创建
fs.rmdir   删除
fs.readdir   读

状态

文件或者目录是否存在

fs.exists 废弃
fs.access

判断是否是文件或者目录

fs.stat(path,function(stats){ stats.isFile()/isDirectory() }) 监听

fs.watch(filename[, options][, listener])
fs.watchFile(filename[, options], listener)

fs1.js

写比读先执行

var fs = require("fs"); //readFile/Sync //读 fs.readFile("a.txt",function(err,data){ console.log(1,err,data); }); //写,找到a.txt没有的话创建,添加"aaa"到a.txt fs.writeFile("a.txt","bbb",function(err){ console.log(2,err); //返回null,表示没有错误 });

res:

$ node fs1 2 null 1 null <Buffer 62 62 62> fs2.js

//copyFile("源文件","目标文件",回调函数)

var fs = require("fs"); //拷贝 1、先读 2、再写 //读 /*fs.readFile("a.txt",function(err,data){ if(err){ console.log("读取文件失败"); } else { //写 fs.writeFile("b.txt",data,function(err){ if(err){ console.log("拷贝失败"); } else { console.log("拷贝成功"); } }); } }); */ //copyFile("源文件","目标文件",回调函数) fs.copyFile("a.txt","b.txt",function(err){ if(err){ console.log("拷贝失败"); } else { console.log("拷贝成功"); } });

rse:

$ node fs2 拷贝成功 fs3.js

//appendFile 创建文件或者追加

var fs = require("fs"); //appendFile 创建文件或者追加 fs.appendFile("b.txt","append",function(err){ console.log(err); });

res:

$ node fs3 null fs4.js

unlink 删除文件 不能删除目录

var fs = require("fs"); //unlink 删除文件 不能删除目录 fs.unlink("b.txt",function(err){ console.log(err); });

res:

$ node fs4 null fs51.js

//fs.mkdir()创建目录

var fs = require("fs"); //创建目录 fs.mkdir("abc", function(err){ console.log(err); });

res:

$ node fs51 null fs52.js

//删除目录fs.rmdir

var fs = require("fs"); //删除目录 fs.rmdir("abc", function(err){ console.log(err); });

res:

$ node fs52 null fs53.js

//读取目录fs.readdir

var fs = require("fs"); //读取目录 fs.readdir("abc", function(err,res){ console.log(err,res); });

res:

$ node fs53 null [ 'youarebeautiful' ] fs61.js

fs.exists
//判断文件和目录
//文件状态 文件、目录是否存在 是文件 还是目录

var fs = require("fs"); //判断文件和目录 //文件状态 文件、目录是否存在 是文件 还是目录 fs.exists("abcd", (exists) => { console.log(exists); });

res:

$ node fs61 true fs62.js

fs.access

var fs = require("fs"); //判断文件和目录 //文件状态 文件、目录是否存在 是文件 还是目录 fs.access("a.txt", (err) => { console.log(err); });

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyyfz.html