node05-fs
目录:
node01-创建服务器
node02-util
node03-events
node04-buffer
node05-fs
node06-path
node07-http
node08-express
node09-cookie
fs模块:
fs(文件):
1 var fs = require("fs"); 2 //读取文件 3 fs.readFile("1.txt","utf8",function(err,data){ 4 if(err){ 5 return console.error(err); 6 } 7 // console.log(data); 8 }); 9 //写入文件 10 /* 11 fs.writeFile("file.txt","我是写入的啊啊啊",{ 12 flag:"w", 13 },function(err){ 14 if(err){ 15 return console.error(err); 16 } 17 console.log("写入成功"); 18 fs.readFile("file.txt","utf8",function(err,data){ 19 console.log(data); 20 }); 21 }); 22 */ 23 24 //追加内容 25 fs.appendFile("file.txt","我是追加的内容",{flag:"w"},function(err){ 26 if(err){ 27 return console.error(err); 28 } 29 console.log("追加成功"); 30 }); 31 32 //复制文件 33 fs.readFile("file.txt","utf8",function(err,data){ 34 fs.writeFile("file2.txt",data,function(err){ 35 if(err){ 36 return console.log(err); 37 } 38 console.log("复制成功"); 39 }); 40 });
fs(目录):
1 var fs = require("fs"); 2 //创建目录 3 /* 4 fs.mkdir("test",0777,function(err){ 5 if(err){ 6 return console.error(err); 7 } 8 console.log("创建成功"); 9 }); 10 */ 11 /* 12 * 1:执行 2:可写 4:可读 13 * 所有者、所有者所在的组、任何人 14 * 所有者 5 = 1 + 4 = 可执行、可读 15 * */ 16 17 //读取目录 18 /* 19 fs.readdir(".",function(err,files){ 20 console.log(files);//files是所有文件组成的数组 21 }); 22 */ 23 24 //查看文件目录的详细信息 25 /* 26 fs.stat("test",function(err,data){ 27 console.log(data); 28 }); 29 */ 30 31 //判断文件是否存在 32 /* 33 fs.exists("test",function(bol){ 34 //文件存在,bol为true,反之为false 35 console.log(bol); 36 }); 37 */ 38 39 //通过相对路径获取绝对路径 40 /* 41 fs.realpath("test",function(err,path){ 42 console.log(path); 43 }); 44 */ 45 46 //重命名 47 fs.rename("test","test2",function(err){ 48 console.log("修改成功"); 49 })
fs(stream):
1 var fs = require("fs"); 2 //stream : 流。用于处理大数据 3 //复制文件 4 /* 5 function copy(oldFile,newFile){ 6 fs.readFile(oldFile,function(err,data){ 7 fs.writeFile(newFile,data,function(err){ 8 console.log("复制成功"); 9 }); 10 }); 11 } 12 copy("1.jpeg","2.jpg"); 13 */ 14 15 //创建一个可读流 16 var rs = fs.createReadStream("1.jpeg"); 17 var ws = fs.createWriteStream("2.jpeg");//创建一个可写流 18 19 //每64k为一个小块 20 /* 21 var times = 0; 22 rs.on("data",function(chunk){ 23 times ++; 24 console.log(times); 25 ws.write(chunk,function (err) { 26 console.log("写入成功"); 27 }); 28 }) 29 */ 30 31 rs.pipe(ws);
fs(异步同步):
1 var fs = require("fs"); 2 //异步读取文件 3 // fs.readFile("1.txt","utf8",function(err,data){ 4 /* 5 * err:读取错误的时候返回的错误信息 6 * data:读取成功读取到的内容 7 * */ 8 // console.log(data); 9 // }); 10 // console.log("我是读取之后的内容"); 11 12 //同步读取文件 13 var data = fs.readFileSync("1.txt","utf8");//返回的是读取内容 14 console.log(data); 15 console.log("我是读取之后的内容");