文件系统

文件写入的四种方式如下图所示:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述文件读取

简单的文件读取如下图所示:
在这里插入图片描述流式文件读取,较复杂的版本:
//流式文件读取也适用于一些比较大的文件,可以分多次将文件读取到内存中

var fs=require(“fs”);

//创建可读流
var rs=fs.createReadStream("./a4.mp3");
//创建一个可写流
var ws=fs.createWriteStream(“aa.mp3”);

//监听流的开启和关闭
rs.once(“open”,function(){
console.log(“可读流打开了”)
})

rs.once(“close”,function(){
console.log(“可读流关闭了”);
//数据读取完毕,关闭可写流
ws.end();
}
)

ws.once(“open”,function(){
console.log(“可写流打开了”)
})

ws.once(“close”,function(){
console.log(“可写流关闭了”);

}

)

//如果要读取一个可读流中的数据,必须要为可读流绑定绑定一个data事件,data事件绑定完毕,她会自动开始读取数据
rs.on(“data”,function (data) {
// console.log(data);
//将读取到的数据写入可写流中
ws.write(data);
})

流式文件读取简单版本:
在这里插入图片描述文件系统中的其他方法:
var fs=require(“fs”);

//existsSync()检查文件系统中的文件是否存在
var isExists=fs.existsSync(“a4.mp3”);
console.log(isExists);

/**

  • fs.stat(path,callpack)
  • fs.statSync(path)
    • 获取文件的状态
    • 它会给我们返回一个对象,这个对象中保存了当前对象状态的相关信息
      */

fs.stat(“a4.mp3”,function(err,stat){
/*
* size 文件大小
* isFile() 是否是一个文件
* isDirectory()是否是文件夹(目录)
* */
//console.log(stat.size);
//console.log(stat.isFile());
//console.log(stat.isDirectory());
})

/*
fs.unlink(path,callback)
fs.unlinkSync(path)
-删除
*/
//fs.unlinkSync(“hello.jpg”);

/*

  • fs.readdir(path[, options], callback)
  • fs.readdirSync(path[, options])
  • -读取一个目录的目录结构
  • -files是一个字符串数组,每一个元素就是一个文件夹或一个文件的名字
  • */

/*
fs.readdir(".",function(err,files){
if(!err){
console.log(files);
}
})*/

/*
fs.truncate(path[, len], callback)
fs.truncateSync(path[, len])

  • 截断文件,将文件修改为指定大小
    */
    //fs.truncateSync(“hello2.txt”,6);

/*
fs.mkdir(path[, options], callback)
fs.mkdirSync(path[, options])
-创建一个目录

fs.rmdir(path[, options], callback)
fs.rmdirSync(path[, options])
*/
//fs.mkdirSync(“hello”);
//fs.rmdirSync(“hello”);

/*
fs.rename(oldPath, newPath, callback)
fs.renameSync(oldPath, newPath)

  • 对文件进行重命名
    */

/*
fs.rename(“aa.mp3”,“daiyarui.mp3”,function(err){
if(!err){
console.log(“重命名成功”)
}
})
*/

/*

  • fs.watchFile(filename[, options], listener)
    • 监视文件的修改
  • filename 要监视的文件的名字
  • options 配置选项
  • listener 回调函数,当文件发生变化时,回调函数执行
  • 在回调函数中会有两个参数:
  •  curr当前文件的状态
    
  •  prev修改前文件的状态
    
  •  -这两个对象都是stats对象
    

*/

/*
fs.watchFile(“hello2.txt”,function () {
console.log(“文件发生了变化”)
})
*/

fs.watchFile(“hello2.txt”,{interval:1000},function(curr,prev){
console.log("修改前文件大小: " + prev.size);
console.log("修改后文件大小: " + curr.size)
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值