Nodejs对文件数据和结构的操作(下)

……

三、对文件结构的操作

3.1 fs.readdir(url,(error,data)=>{})

作用:读取文件夹内的所有文件
一参:url 文件夹的路径
二参:回调函数,内置两参,错误信息和资源句柄

const fs = require('fs');
//异步读取方式
fs.readdir('./file',(error,data)=>{
	if(error):console.log('读取文件夹失败');
	else{ console.log(data) } 
});

//同步读取方式 少了回调函数 多了返回值
let data = fs.readdirSync('./file');
console.log(data);

3.2 fs.stat(url,(error,data)=>{});

作用:读取文件、文件夹的信息
一参:url 目标文件、文件夹的路径;
二参:回调函数,内置两参,错误信息和资源句柄

const fs = require('fs');

//异步读取文件/文件夹
fs.stat('./file/aa',(error,data)=>{
	//验证是否为文件夹
	error?console.log('读取失败'):console.log(data.isFile());
});

//同步读取文件/文件夹 相比于异步方式 少了回调函数 多了返回值
let result = fs.statSync('./file/aa');
console.log(result.isFile());//布尔值

同步方式读取文件/文件夹内的信息size属性为所读取文件的字节长度

3.3 fs.mkdir(url,{recursive:true},error=>{})

作用:(迭代)创建文件夹
一参:url 创建的路径
二参:{recursive:true} 是否迭代创建
三餐:回调函数 内置一参,错误信息

//引入js核心模块 ---文件管理模块fs
const fs = require('fs');

//异步操作创建文件
fs.mkdir('./file/aa/bb/cc',{recursive:true},error=>{
	error?console.log('创建失败'):console.log('创建成功');
});

//同步操作创建文件
fs.mkdirSync('./file/dd/ee/hh',{recursive:true});

3.4 fs.rmdir(url,{recursive:true},error=>{})

作用:(迭代)删除文件夹
一参:url 删除的路径
二参:{recursive:true} 是否迭代删除
三餐:回调函数 内置一参,错误信息

//引入核心模块fs
const fs = require('fs');

//异步操作 删除文件
fs.rmdir('./file/aa',{recursive:true},error=>{
	error?console.log('删除失败'):console.log('删除成功');
});
//同步操作 删除文件
fs.rmdirSync('./file/dd',{recursive:true});

3.5 fs.unlink(url+文件名,error=>{})

作用:删除文件
一参:路径+文件名
二参:回调函数 内置一参,错误信息

const fs = require('fs');
//异步操作 删除文件
fs.unlink('./file/a.txt',error=>{
	error?console.log('删除失败'):console.log('删除成功')
});
//同步操作 删除文件
fs.unlinkSync('./file/b.txt');

3.6 fs.rename(原url+原文件名,新url+新文件名,error=>{})

作用:
1.移动并更名文件,是既修改url又修改文件名;
2.移动文件是只改url,不更名;
3.重命名文件是不移动url,只更名;

一参:原url+原文件名;
二参:新url+新文件名;
三参:回调函数 内置一参,即错误信息;

const fs = require('fs');
//异步操作 移动文件并更名
fs.rename('./file/js.jpg','javaScript.jpg',error=>{
	error?console.log('移动并更名失败'):console.log('移动并更名成功');
});
//同步操作 移动并更名
fs.renameSync('javaScript.jpg','./file/js.jpg');

3.7 下载文件 即读取文件并写入新地址文件

fs.readFile(‘原url+文件名’,(error,资源句柄)=>{
if(error){
console.log(‘读取文件失败’);
}else{
// 读取文件成功后 写入文件
fs.writeFile(‘新url+文件名’,资源句柄,{读取方式},error=>{});
}; )

作用:下载文件,即读取文件并写入新地址文件

一参:原url+原文件名;
二参:回调函数,内置两参,错误信息和资源句柄date
三参:新url+新文件名;
四参:资源句柄 data
五参:读取方式 {flag : ‘w’}
六参:回调函数 内置一参,即错误信息;

注意:读取和下载的文件,后缀名必须一致。

const fs = require('fs');

//异步读取和写入同一个文件
fs.readFile('./file/js.jpg',(error,data)=>{
	if(error) console.log('读取失败');
	else {
		//读取成功后 写入文件
		fs.writeFile('javaScript.jpg',data,{flag:'w'},error=>{
			error?console.log('写入失败'):console.log('下载成功');
		})
	}
})

四、全局方法

4.1 __dirname

作用:获取该文件所在的文件夹 绝对路径

console.log(__dirname);

4.2 __filename

作用:获取该文件所在的位置 绝对路径

console.log(__filename);

(暂更新于2021.07.24 18:16 如有错误 还请斧正…)

上一篇:dedecms织梦还原数据不正常的解决方法


下一篇:matlab快速入门(18):项目 音频频率