首页 技术 正文
技术 2022年11月21日
0 收藏 513 点赞 2,215 浏览 1990 个字

在nodeJS中操作文件系统(二)

  1. 移动文件或目录

在fs模块中,可以使用rename方法移动文件或目录,使用方法如下:

    fs.rename(oldPath,newPath,callback);

在rename方法中,有三个参数,oldPath参数用于指定被移动文件或目录的完整路径,newPath参数用于指定移动后该文件或目录的完整路径,callback参数用于指定移动执行完毕时调用的回调函数,在该回调函数使用一个参数,参数值为移动后操作失败时触发的错误对象。

比如如下代码:

var fs = require('fs');
var files = fs.rename('./message.txt','./test/test.txt',function(err){
if(err) {
console.log("移动文件操作失败");
}else {
console.log("移动文件操作成功");
}
});

意思是将根目录的message.txt文件移动到根目录下test文件中并将文件名或者目录名改为test.txt。但是test文件夹一定是存在的 否则会报错的。

我们也可以使用同步方式移动文件或目录,可以使用renameSync方法,该方法使用如下:

    fs.renameSync(oldPath,newPath);

参数的含义和上面的rename方法中的参数含义一样。

  2.  截断文件

在fs模块中,可以使用truncate方法对文件进行截断操作,该方法使用如下:

fs.truncate(filename,len,callback);

filename:用于指定需要被截断文件的完整路径,len参数值为指定截断后的文件尺寸(以字节为单位),callback参数用于指定截断文件操作完毕时执行的回调函数,该回调函数中使用一个参数,参数值为截断文件操作失败时触发的错误对象。

如下代码是对message.txt文件进行截断操作,使文件尺寸变为10字节,如下代码:

var fs = require('fs');
fs.truncate('./message.txt',10,function(err) {
if(err) {
console.log("对文件进行截断操作失败");
}else {
fs.stat('./message.txt',function(err,stats){
console.log("文件尺寸为:"+stats.size+" 字节");
});
}
});

截图如下:

在nodeJS中操作文件系统(二)

在使用同步方式截断文件时,可以使用truncateSync方法,该方法使用如下所示:

     fs.truncateSync(filename,len);

参数的含义和如上的一样。

在使用open或openSync方法打开文件并返回文件描述符后,可以使用fs模块中的ftruncate方法截断文件,该方法使用如下所示:

     fs.ftruncate(fd,len,callback);

在ftruncate中使用三个参数,其中fd参数值为打开文件时返回的文件描述符,Len参数与callback参数的作用与truncate方法的参数相同。

如下代码:

var fs = require('fs');
fs.open('./message.txt','r',function(err,fd){
fs.ftruncate(fd,10,function(){
if(err) {
console.log("对文件进行截断操作失败");
}else {
fs.stat('./message.txt',function(err,stats){
console.log("文件尺寸为:"+stats.size+" 字节");
});
}
});
});

运行效果如上一样;

在使用同步方式截断文件时,可以使用ftruncateSync方法,该方法使用如下所示:

   fs.ftruncateSync(fd,len);

3.  删除空目录

在fs模块中,可以使用rmdir方法删除空目录,该方法使用如下:

   fs.rmdir(path,callback);

path参数用于指定需要被删除目录的完整路径,callback参数用于指定删除空目录操作执行完毕时调用的回调函数,该回调函数使用一个参数,参数值为删除目录操作失败时触发的错误对象。

如下代码:

var fs = require('fs');
fs.rmdir('./test',function(err){
if(err) {
console.log("删除空目录操作失败");
}else {
console.log("删除空目录操作成功");
}
});

如上代码是删除根目录下test空文件夹,记住是空文件夹,如果有子文件的话,删除会失败,否则的话删除成功。

在使用同步方法删除空目录时,可以使用fs模块中的rmdirSync方法,该方法使用如下:

fs.rmdirSync(path);

上一篇: UPF Usage
下一篇: Python2.7-struct模块
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,000
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,512
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,358
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,141
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,771
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,849