在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. 本文 ...
随机推荐
- RBAC 介绍 (权限)
RBAC是什么? RBAC是基于角色的访问控制(Role-Based Access Control )在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权 ...
- LeetCode DB: Department Highest Salary
The Employee table holds all employees. Every employee has an Id, a salary, and there is also a colu ...
- web自动化开发环境配置详解
1.安装 nodejs Grunt和所有grunt插件都是基于nodejs来运行的, https://nodejs.org/ 安装完成之后在终端 node -v 查看安装版本 2.安装 grunt-C ...
- 借助form表单向web服务器发送消息
form表单是常用的,在网页浏览器中 用户点击的请求经htto协议发送回web容器,请求处理 建立用户的页面 <!DOCTYPE html> <html> <head&g ...
- php 去除所有空格 包括中文空格圆角空格
有的中文的半角,圆角空格或者段落符显示为空白的.可以用正则来处理 preg_replace("/(\s|\ \;| |\xc2\xa0)/","" ...
- [基础架构]PeopleSoft Web Server 重要文件说明
我们都知道PeopleSoft是由几个不同的服务组成的,他们在PeopleSoft体系结构中扮演着自己的角色.这些服务具有不同的文件结构并包含重要的可执行文件和配置文件. 以下是Peoplesoft体 ...
- 网络基础 HTTP协议之http url简介
HTTP协议之http url简介 by:授客 QQ:1033553122 http url简介 http url通过http协议,用于定位网络资源,是一种特殊类型的URI(统一资源定位) http_ ...
- Spring学习笔记(一):快速入门
Spring简介: Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完 ...
- 使用ADB无线连接Android真机进行调试
使用ADB无线连接Android真机进行调试 其实这已经是一个很古老的知识了,记录一下备忘. 准备工作 手机和电脑需要在同一个局域网内 电脑上已经安装好ADB工具,可以是Mac或者Windows ...
- MySQL——索引优化实战
上篇文章中介绍了索引的基本内容,这篇文章我们继续介绍索引优化实战.在介绍索引优化实战之前,首先要介绍两个与索引相关的重要概念,这两个概念对于索引优化至关重要. 本篇文章用于测试的user表结构: 索引 ...