fs模块基础知识以及demo

var fs = require("fs");


// var text = "";


// fs.readFile("log/abc.js","utf-8",(err,data)=>{
//     text = data;
// });


// text = fs.readFileSync("log/abc.js",{encoding:"utf-8"});
// console.log(text); 


/**
 * 文件读取流  写入流
 * 
 * 创建读取流  var readStream = fs.createReadStream(path);
 * 参数path为文件路径
 * 读取流  ==> 用于分批次获取数据的对象
 * 获取方式为
 * xxx.on("data",data=>{});
 * xxx.on("end",()=>{});
 * 
 * 创建写入流 var writeStream = fs.createWriteStream(path);
 * 参数path为即将被写入的文件路径
 * 写入流  ==> 可用户将读取流中的数据输出到指定的文件内
 * 写入方式为
 * 读取流.pipe(写入流)   readStream.pipe(writeStream);
 */


//  var readStream = fs.createReadStream("log/abc.js");


//  var count = 0;


//  rstream.on("data",data=>{


//      if(count == 0){
//          console.log("第一次读取到的文件片段为:");
//          console.log(data.toString());
//      }
//      console.log(count++);
//  });


//  rstream.on("end",()=>{
//      console.log(count);
//  })


// var writeStream = fs.createWriteStream("txt.js");


// readStream.pipe(writeStream);






/**
 * 创建目录
 */
// fs.mkdir("log",err=>{
//     if(!err){
//         console.log("log目录创建成功!");
//     }
// });


/**
 * 创建/写入 文件(当文件不存在时 则为创建)
 */
// fs.writeFile("log/abc/abc.js","var def = 'abc';\nconsole.log(abc)",err=>{
//     if(!err){
//         console.log("文件创建成功!");
//     }
// })


/**
 * 向指定的文件末尾追加新的内容
 */
// fs.appendFile("log/abc/abc.js","\nfunction sayHello(name){console.log(name)}",err=>{
//     if(!err){
//         console.log("文件追加成功!");
//     }
// })


/**
 * 读取指定文件
 */
// fs.readFile("log/abc/abc.js","utf-8",(err,data)=>{
//     if(!err){
//         console.log(data);
//     }
// });


/**
 * 对文件重命名  
 */
// fs.rename("log/abc/main.js","log/abc.js",err=>{
//     console.log("文件重命名成功!")
// })


/**
 * 删除文件
 */
// fs.unlink("log/abc.js",err=>{
//     if(!err){
//         console.log("文件删除成功!")
//     }
// })


/**
 * 删除目录
 */
// fs.rmdir("log/abc",err=>{
//     if(!err){
//         console.log("目录删除成功")
//     }else{
//         console.log("目录删除失败!");
//         console.log(err)
//     }
// })


/**
 * 读取目录
 */
// fs.readdir("log",(err,list)=>{
//     console.log(list);
// });


/**
 * 获取文件/目录相关信息
 */
// fs.stat("log/abc.js",(err,info)=>{
//     // console.log(info);


//     var isFile = info.isDir()
//     console.log(isFile);
// })


/**
 * fs模块
 * 
 * .mkdir(url,callback) 在指定的地方创建目录
 * url 为字符串类型  即需要被创建的目录名
 * callback 回调函数  当创建失败 形参err记录错误信息
 * 
 * .writeFile(url,content,callback) 在指定的地方创建文件/替换到指定文件的文件内容
 *  url 为字符串类型 即需要被创建/替换的文件名(路径)
 *  content 为需要被写入文件的内容
 *  callback 回调函数 当操作失败 形参err记录错误信息
 * 
 * .appendFile(url,content,callback) 向指定的文件末尾追加新的内容
 * url为字符串类型 即需要被追加的文件路径及文件名
 * content 需要被追加的内容
 * callback 回调函数
 * 
 * .readFile(url,ecode,callabck) 读取指定路径的文件
 * url 为文件的路径及文件名
 * ecode 字符串类型 为读取文件时采用的字符编码格式
 * callback 该回调拥有两个形参  第一个err为错误信息  第二个data为读取的文件内容
 * 
 * .rename(oldUrl,newUrl,callback) 对文件进行重命名(当新的文件路径和旧的路径不相同时 则会移动文件)
 * oldUrl为需要被重命名的文件路径及文件名
 * newUrl为被重命名之后的文件路径及文件名
 * callback 为回调函数
 * 
 * .unlink(url,callback) 删除指定的文件
 * url为文件名
 * callback为回调函数
 * 
 * .rmdir(url,callback) 删除指定目录(目录必须为空)
 * url 为需要被删除的目录路径
 * callback为回调函数
 * 
 * .readdir(url,callback) 读取目录
 * url为需要读取的目录路径
 * callback为回调  第二个形参为数组 即该目录下所有的目录和文件名集合
 * 
 * .stat(url,callback) 获取目录/文件 相关信息
 * url 为需要读取的路径
 * callback 第二个形参为对象 记录着该目录/文件的相关信息  同时可以调用该对象下的.isFile()或者isDirectory()方法来判断是否为违建或者目录
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值