Node.Js fs模块文件夹操作

1.fs.readdir(path, callback);

使用fs.readdir读取目录,重点其回调函数中files对象

/**
 * path, 要读取目录的完整路径及目录名;
 * [callback(err, files)], 读完目录回调函数;err错误对象,files数组,存放读取到的目录中的所有文件名
 */

实例:

//读取目录
var fs=require('fs');
//如果路径指定不规范,则会按当前文件所在目录处理
//如果为目录不存在抛出异常 { [Error: ENOENT, scandir 'F:\test1'] errno: -4058, code: 'ENOENT', path: 'F:\\test1' }
fs.readdir('F:\\test1',function(err,files){
	if(err){
		return console.error(err);
	}
	files.forEach(function(file){
		console.info(file);
	});
});
结果:

one.txt
新建文件夹
[Finished in 0.3s]

2.fs.mkdir(path, [mode], callback); 

使用fs.mkdir创建目录

/**
 * path, 被创建目录的完整路径及目录名;
 * [mode], 目录权限,默认0777
 * [callback(err)], 创建完目录回调函数,err错误对象
 */

实例:

//创建目录
var fs=require('fs');
fs.mkdir('f:\\test1',function(err){
	if(err)
		console.error(err);
	console.log('创建目录成功');
});
3.fs.rmdir(path, callback); 

删除空目录

/**
 * path, 目录的完整路径及目录名;
 * [callback(err)], 操作完成回调函数;err操作失败对象
 */

实例:

//删除目录
var fs = require('fs');
//注:当前删除目录操作,只能删除空目录
//如果目录总有文件,抛出异常 { [Error: ENOTEMPTY, rmdir 'f:\test1'] errno: -4051, code: 'ENOTEMPTY', path: 'f:\\test1' }
fs.rmdir('f:\\test1', function(err) {
    if (err) {
        console.log('删除空目录失败,可能原因:1、目录不存在,2、目录不为空')
        return console.error(err);
    }
    console.log('删除目录成功');
});

4.fs.exists(path, callback);

判断文件或目录是否存在

/**
 * path, 要查看目录/文件的完整路径及名;
 * [callback(exists)], 操作完成回调函数;exists true存在,false表示不存在
 */

实例:

//判断文件夹是否存在
var fs=require('fs');
var path=require('path');
var path1=path.resolve('one');
console.info(path1);
fs.exists(path1,function(exists){
	if(exists)
		console.log('文件夹存在');
	else 
		console.log('文件夹不存在');
});
5.fs.stat(path, callback); //判断路径是文件或文件夹等

fs.lstat(path, callback); //查看符号链接文件

//获取文件夹信息
var fs=require('fs');
var path=require('path');
var path1=path.resolve(__filename,'../');
console.info(path1);
fs.stat(path1,function(err,stats){
	console.info(stats);
	console.log(stats.isFile());
	console.log(stats.isDirectory());
});
6.fs.rename(oldPath, newPath, callback); //重命名文件或文件夹

/**
 * oldPath, 原目录/文件的完整路径及名;
 * newPath, 新目录/文件的完整路径及名;如果新路径与原路径相同,而只文件名不同,则是重命名
 * [callback(err)], 操作完成回调函数;err操作失败对象
 */

var fs=require('fs');
var path=require('path');
var path1=path.resolve('/test1');
console.info(path1);
var path2=path.resolve('/test2');
fs.rename(path1,path2,function(err){
	if(err){
		console.error(err);
		return;
	}
	console.log('重命名成功');
});

官网API: https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值