Node.js fs模块中的重点方法

  在之前的随笔中已经列举了一些方法,现在将对里面重要的方法进行讲解。

readFile(读取文件)

  当文件夹里面有这个文件时

var fs=require("fs")
//首先依旧是引入fs模块
fs.readFile(__dirname+"/src/movie.mp4",(err,data)=>{ 
//读取路径下的文件的名叫movie的mp4文件
console.log(err,data)
//null和读取出来的文件字节数
})

 

   当文件夹里面没有这个文件时

fs.readFile(__dirname+"/src/123.txt",(err,data)=>{
//读取文件夹里面的123.txt这个文件
console.log(err,data)
//打印错误和文件字节数
})

 

 writeFile(写入文件内容)

//首先在文件夹里面创建一个b.txt文件
fs.readFile(__dirname+"/src/b.txt",(err,data)=>{ 
//首先先读取b.txt里面的内容,因为是才创建的,所以应该为空
console.log(data)
})

 

 

fs.writeFile(__dirname+"/src/b.txt","帅哥",function(err){ 
//向b.txt写入"帅哥"
console.log(err)
//打印错误消息
})
fs.readFile(
__dirname+"/src/b.txt",(err,data)=>{
//读取b.txt文件的字节数
console.log(data)
})

可以看出写入是成功的(而且当你写入一个不存在的文件时,会自动创建这个文件,但是文件夹不存在时就会报错)

unlink(删除文件)

fs.unlink(__dirname+"/src/b.txt",(err)=>{ 
//删除文件目录下的b.txt文件
console.log(err)
//打印错误消息
})

 

 当你删除一个没有的文件时就会报错

 

 还有就是没有权限的时候也会报错

appendFile(拼接文件)

fs.appendFile(__dirname+"/src/b.txt","nihao",(err)=>{ 
//在文件b.txt中拼接“nihao”
console.log(err)
})

注意:(appendFile是拼接,是在文件原有的内容上拼接内容,而writeFile是写入,假如原文件里面有内容的话会覆盖掉原文件内容)

 rename( 修改文件名称,可更改文件的存放路径)

修改文件名

var oldpath=__dirname+"/src/b.txt"
var newpath=__dirname+"/src/c.txt"
fs.rename(oldpath,newpath,(err)=>{
    console.log(err)
})
//如果新名字的文件存在的话会将原有的内容覆盖

修改路径

var oldpath=__dirname+"/src/b2.txt"
var newpath=__dirname+"/src/a/b2.txt"
fs.rename(oldpath,newpath,(err)=>{
    console.log(err)
})
//如果转移的文件夹不存在的话会报错

注意:(oldpath和newpath不是同一个根盘的话操作会失败)

copyFile(拷贝)

var oldpath=__dirname+"/src/b2.txt"
var newpath=__dirname+"/src/c/b2.txt"
fs.copyFile(oldpath,newpath,(err)=>{
    console.log(err)//添加unlink可以实现rename修改路径的作用
})

注意:(rename是更改路径,更改后会删除原文件,而copyFile是拷贝,不会删除原文件,但是在函数里面加一个unlink方法可以实现rename修改路径的作用)

readdir(读取目录)

fs.readdir(__dirname+"/src",(err,arr)=>{
    console.log(err,arr)
})
//读取src路径下的文件和文件夹

 

posted @ 2022-07-29 13:30  前端小白银  阅读(96)  评论(0)    收藏  举报