在nodeJS中操作文件系统(二)
在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+" 字节");
});
}
});
截图如下:

在使用同步方式截断文件时,可以使用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);
在nodeJS中操作文件系统(二)的更多相关文章
- 在Node.js中操作文件系统(一)
在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...
- nodejs中的文件系统
. 目录 简介 nodejs中的文件系统模块 Promise版本的fs 文件描述符 fs.stat文件状态信息 fs的文件读写 fs的文件夹操作 path操作 简介 nodejs使用了异步IO来提升服 ...
- 在NodeJS中操作文件常见的API
阅读目录 一:如何读整个文件内容? 二:如何写入整个文件内容? 三:如何在文件中的指定位置处读入内容? 四:如何在文件中的指定位置处写入内容? 五:如何创建与读取目录? 六:如何查看与修改文件或目录的 ...
- 在nodejs中操作数据库(MongoDB和MySQL为例)
一.使用nodejs操作MongoDB数据库 ①使用官方的mongodb包来操作 ②使用第三方的mongoose包来操作(比较常用) // 首先必须使MongoDB数据库保持开启状态 // npm下载 ...
- Node.js权威指南 (6) - 在Node.js中操作文件系统
6.1 同步方法与异步方法 / 856.2 对文件执行读写操作 / 86 6.2.1 文件的完整读写 / 86 6.2.2 从指定位置处开始读写文件 / 916.3 创建与读取目录 / 97 6.3. ...
- nodeJS之fs文件系统
前面的话 fs文件系统用于对系统文件及目录进行读写操作,本文将详细介绍js文件系统 概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的. 通过 require('fs') 使用该模块. 所 ...
- Node.js之操作文件系统(二)
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbca ...
- Nodejs学习笔记(二)--- 操作MongoDB数据库
最近看了一些关于mongodb的文章,然后就想知道nodeJS是怎么连接的所以我就尝试去了解了一波(这个菜鸟驿站这个网站还不错,虽然知识文档不是最新的,但是还是蛮好的: 顺便官网地址是这个哦:http ...
- 深入Nodejs模块fs - 文件系统操作
node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作.文档组织的很好,操作基本分为文件操作.目录操作.文件信息.流这个大方面,编程方式也支持同步.异步和 Promise. 本文 ...
随机推荐
- 图片链接转成base64
一半需要我的图像转换为base64字符串,这样我们可以把我的形象到服务器.现在我们提供一个js: function convertImgToBase64(url, callback, outputFo ...
- 转 [PHP] - 性能加速 - 开启Opcache
原文地址:[PHP] - 性能加速 - 开启Opcache PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升 一.开启Opc ...
- hibernate动态表名映射
引自:http://blog.csdn.net/xvshu/article/details/39187779 最近的一个项目有一个需求,有N个考核单位,要对每个考核单位生成一张考核情况表,这样做的目的 ...
- WampServer下修改和重置MySQL密码
Wampserver PHP环境中mysql数据库登录密码的修改和重置,mysql命令. 工具/原料 电脑Windows系统 WampServer 方法/步骤1 启动WampSer ...
- 使用 jQuery Ajax 异步登录,并验证用户输入信息(maven)
使用 jQuery Ajax 异步登录,并验证用户输入信息(maven) 本篇内容: (1)上一篇是使用同步的请求实现登录,并由 Servlet 决定登陆后下一步做哪些事情,本篇使用 jQuery A ...
- 8.1、包,__init__.py,
包: 为了组织好模块,将多个模块组合为一个包,所以包用于存放python模块 包通常是一个文件夹,当文件夹当作包使用时,文件夹需要包含__init__.py文件 __init__.py的内容可以为空, ...
- 《JavaScript面向对象编程指南》
第一章.引言 1.5 面向对象的程序设计常用概念 对象(名词):是指"事物"在程序设计语言中的表现形式. 这里的事物可以是任何东西,我们可以看到它们具有某些明确特征,能执行某些动作 ...
- 【python】python之tuple元组
tuple特性 python的tuple与列表类似,不同之处在于tuple的元素不能修改. tuple使用小括号,列表使用方括号. tuple创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. ...
- 3hibernate核心对象关系映射 xxx.hbm.xml
Hibernate的核心就是对象关系映射: 加载映射文件的两种方式: 第一种:<mapping resource="com/bie/lesson02/crud/po/employee. ...
- svn其它
参考地址: http://www.cnblogs.com/mymelon/p/5483215.html