继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

nodejs搭建服务器之fs模块常用操作

谷谷3
关注TA
已关注
手记 8
粉丝 7
获赞 21

fs.mkdir 创建文件夹
参数1 文件夹名称
参数2 异步函数 err === null 表示创建文件夹成功

fs.mkdir('./aaa', (err) => {})

fs.rmdir 删除文件夹
参数1 文件夹名称
参数2 异步函数 err === null 表示删除文件夹成功
注意:只能删除空文件夹

fs.rmdir('./aaa', (err) => {})

fs.readdir 读取文件夹
参数1 文件夹名称
参数2 异步函数 (err === null 表示读取文件夹成功) (arr 是文件夹下面的文件集合 )

fs.readdir('./aaa', (err, arr) => {console.log(arr)})

fs.appendFile 创建文件
参数1 文件合法路径文件名称
参数2 文件内容
参数3 异步函数 err === null 表示创建文件成功

fs.appendFile('./aaa/a.html', '<h1>哈哈哈<h1>',(err) => {})

fs.unlink 删除文件
参数1 文件合法路径文件名称
参数2 异步函数 err === null 表示删除文件成功

fs.unlink('./aaa/a.html', (err) => {})

fs.rename 修改文件名
参数1 要修改的文件
参数2 新的文件名
参数3 异步函数 err === null 表示修改文件名成功

fs.rename('./aaa/a.html', './aaa/b.html',(err) => {})

fs.readFile 读取文件
参数1 要读取的文件名称
参数2 异步函数 (err === null 表示读取文件成功) (data 表示读取的文件内容)

fs.readFile('./aaa/a.html', (err, data) => {
	console.log(data.toString()) 
})

fs.stat 判断文件的状态
参数1 要判断的文件名称
参数2 异步函数 (err === null 表示读取文件成功) (obj 是一个状态对象)

fs.stat('./aaa/a.html', (err, obj) => {
	console.log(obj.isDirectory() ? '文件夹' : '文件')
})

fs模块 删除非空文件夹
deldir.js 文件

// 引入fs模块
var fs = require('fs');
/**
 * del 可以实现删除所有的非空目录
 * @path  要删除的文件目录
 * 思路:
 * 	-获取所有的文件
 * 	-循环读取所有文件的状态对象
 * 	-判断文件的状态
 **/
// 提供功能
function del(path) {
	// 第一步获取path中的文件
	var let = fs.readdirSync(path);
	// 遍历数组
	for (let i = 0; i < arr.length; i++) {
		// 获取状态对象
		let stat = fs.statSync(path + '/' + arr[i]);
		// 判断当前文件的状态
		if (stat.isDirectory()) {
			// 说明是文件夹, 递归处理
			del(path + '/' + arr[i]);
		} else {
			// 说明是文件, 删除文件
			fs.unlinkSync(path + '/' + arr[i]);
			// console.log('删除了' + path + '/' + arr[i] + '文件');
		}
	}
	// 遍历完成之后删除path
	fs.rmdirSync(path);
	// console.log('删除了' + path + '文件夹');
}
// 暴露功能
module.exports = del;

在index.js 文件中引入 deldir.js 文件

// 引入deldir.js
let del = require('./deldir.js');
// 执行方法
del('要删除的文件夹路径');

控制台运行

node index.js

http与fs模块详细代码

const http = require('http') // 引入http模块
const fs = require('fs') // 引入fs模块
const hostname = '127.0.0.1'; //定义主机名
const port = 3000;  //定义端口号
// fs.mkdir 创建文件夹 
fs.mkdir('./aaa', (err) => {})

// fs.rmdir 删除文件夹 
fs.rmdir('./aaa', (err) => {})

// fs.readdir 读取文件夹 
fs.readdir('./aaa', (err, arr) => {console.log(arr)})

// fs.appendFile 创建文件 
fs.appendFile('./aaa/a.html', '<h1>哈哈哈<h1>',(err) => {})

// fs.rename 修改文件名 
fs.rename('./aaa/a.html', './aaa/b.html',(err) => {})

// fs.unlink 删除文件 
fs.unlink('./aaa/a.html', (err) => {})

// fs.readFile 读取文件 
fs.readFile('./aaa/a.html', (err, data) => { console.log(data.toString()) })

// fs.stat 判断文件的状态 
fs.stat('./aaa/a.html', (err, obj) => {console.log(obj.isDirectory() ? '文件夹' : '文件')})

const server = http.createServer((req,res) => {
    // console.log(req.method, req.url, req.headers)
    res.setHeader('content-type', 'text/plain;charset=utf-8') //设置响应头,文本按纯文本解析
    res.write('你好') // 返回给浏览器内容,可以连续使用write写入
    res.end('222222') //返回给浏览器内容并关闭,之后不可以向浏览器写入
})
server.listen(port, hostname, ()=>{
    console.log(`服务器运行在 http://${hostname}:${port}/`)
})

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

热门评论

试试水水水水水水水水水水水水水水水水水水水

查看全部评论