Node.js学习-04fs模块

一、fs模块是什么?

====读取文件

fs.readFile(path,(err,data)=>{})

path 填路径 可以绝对可以相对

err代表读取失败

data代表读取成功 它是一个buffer类型的数据(二进制数据流) 可以通过toString()转化为字符串

注意:res.end()方法接受 字符串或者buffer

var http=require("http")
var fs=require("fs")
var app=http.createServer((req,res)=>{
	if(req.url=="/18.jpg"){
	   //读取一个图片发给前端
	   fs.readFile("./src/18.jpg",(err,data)=>{
		   if(!err){
			   res.end(data)
		   }
	   })
	}else{
		res.end("not   404")
	}
})
app.listen(8081)

====写入文件(创建文件)

fs.writeFile(path ,data,callback(er))

如果文件存在,该方法写入的内容会覆盖旧的文件内容,不存在就创建一个新的

path - 文件路径

data - 要写入文件的数据,可以是 String(字符串)

callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

fs.writeFile(__dirname+"/src/a.txt","hello",function(err){
	console.log(err)
})
//创建并写入文件信息:如果文件不存在 就会创建
fs.writeFile(__dirname+"/src/b.txt","hello666",function(err){
	console.log(err)
})

如果文件夹不存在 就会报错 
fs.writeFile(__dirname+"/src1/b.txt","hello666",function(err){
	console.log(err)
})

====删除文件

fs.unlink(path,callback(err))

path - 文件路径。

callback(err) - 删除回调函数,err错误信息

删除文件:如果删除遇到权限问题  会删除失败
fs.unlink(__dirname+"/src/a.txt",(err)=>{
	console.log(err)
})

====以追加方式写文件

fs.appendFile(__dirname + ‘/test.txt’, ‘我会追加到文件内容的末尾’, function (er) {

console.log(‘追加内容完成’);

})

拼接内容到文件
fs.appendFile(__dirname+"/src/b.txt","马上放学",(err)=>{
	console.log(err)
})
fs.appendFile(__dirname+"/src/b2.txt","马上放学",(err)=>{
	console.log(err)
})

====创建目录

fs.mkdir(__dirname + '/test', function (err) {

  if(err)  throw err

  console.log('创建目录成功')

})

====移动/重命名文件或目录:整个功能相当于重命名一个文件/文件夹路径

fs.rename(oldPath, newPath, callback);

oldPath, 原目录/文件的完整路径及名;

newPath, 新目录/文件的完整路径及名;如果新路径与原路径相同,而只文件名不同,则是重命名

callback(err), 操作完成回调函数;err操作失败对象

移动文件有一个bug:新路径和旧路径必须是同一个根盘

var oldpath=__dirname+"/src/b.txt"
var newpath=__dirname+"/src/a/b.txt"

var oldpath=__dirname+"/src/b"
var newpath=__dirname+"/src/a/b"

var oldpath=__dirname+"/src/a/b"
var newpath=__dirname+"/src/a/c"

var oldpath=__dirname+"/src/a/b.txt"
var newpath=__dirname+"/src/a/c.js"
注意:fs.rename的bug==>oldpath,newpath不是同一个根盘操作会失败
fs.rename(oldpath,newpath,(err)=>{})

====拷贝文件

fs.copy(oldPath, newPath, callback);

oldPath, 原文件的完整路径;

newPath, 新文件的完整路径;

callback(err), 操作完成回调函数;err操作失败对象

拷贝文件以后两个文件都会存在磁盘中

拷贝
var oldpath=__dirname+"/src/18.jpg"
var newpath=__dirname+"/src/a/18.jpg"
fs.copyFile(oldpath,newpath,(err)=>{
	fs.unlink(oldpath,()=>{})
})

====读取目录

fs.readdir(__dirname+"/src",(err,arr)=>{
	console.log(err,arr)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值