1. 文件夹

增加文件夹

var fs = require("fs");
console.log("创建目录 tmp");
fs.mkdir("tmp",function(err){
if (err) {
return console.error(err);
}
console.log("目录创建成功。");
});

多层级 文件夹

var fs = require("fs");
var path = require("path"); // 递归创建目录 异步方法
function mkdirs(dirname, callback) {
fs.exists(dirname, function (exists) {
if (exists) {
callback();
} else {
mkdirs(path.dirname(dirname), function () {
var fn = callback
console.log('callback',fn.toString())
fs.mkdir(dirname, callback);
console.log('在' + path.dirname(dirname) + '目录创建好' + dirname +'目录');
});
}
});
} mkdirs('./t77t/dashboard-1.10.1/src/app/frontend/deploy/validators',() => {
console.log('done');
})

删除文件夹

var fs = require("fs");
console.log("准备删除目录 tmp");
fs.rmdir("tmp",function(err){
if (err) {
return console.error(err);
}
console.log('clear');
fs.readdir("tmp",function(err, files){
if (err) {
return console.error(err);
}
files.forEach( function (file){
console.log( file );
});
});
});

查看文件夹

var fs = require("fs");
console.log("查看 /tmp 目录");
fs.readdir("a",function(err, files){
if (err) {
return console.error(err);
}
files.forEach( function (file){
console.log( file );
});
});

2.文件

增加文件

var fs = require("fs");
console.log("准备写入文件");
fs.writeFile('bb.js', '我是通 过fs.writeFile 写入文件的内容', function(err) {
if (err) {
return console.error(err);
}
console.log("数据写入成功!");
console.log("--------我是分割线-------------")
console.log("读取写入的数据!");
fs.readFile('b.js', function (err, data) {
if (err) {
return console.error(err);
}
console.log("异步读取文件数据: " + data.toString());
});
});

删除文件

var fs = require("fs");
console.log("准备删除文件!");
fs.unlink('b.js', function(err) {
if (err) {
return console.error(err);
}
console.log("文件删除成功!");
});

修改文件

// 截取文件
var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开文件!");
fs.open('b.js', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("截取10字节内的文件内容,超出部分将被去除。"); // 截取文件
fs.ftruncate(fd, 10, function(err){
if (err){
console.log(err);
}
console.log("文件截取成功。");
console.log("读取相同的文件");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
} // 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
} // 关闭文件
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log("文件关闭成功!");
});
});
});
});

查看文件

var fs = require("fs");
fs.readFile('b.js', function (err, data) {
if (err) {
return console.error(err);
}
console.log("异步读取: " + data.toString());
});

文件其他操作

打开文件

var fs = require("fs");
console.log("准备打开文件!");
fs.open('b.js', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
});

关闭文件

var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开文件!");
fs.open('b.js', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件!");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
} // 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
} // 关闭文件
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log("文件关闭成功");
});
});
});

读取字节流

var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开已存在的文件!");
fs.open('b.js', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件:");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
console.log(bytes + " 字节被读取"); // 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
});
});

3.其他

文件、文件夹之间区分

var fs = require('fs');
fs.stat('a', function (err, stats) {
console.log(stats.isFile()); //true stats.isDirectory()
})

参考网址

node 文件、文件夹 增删改查的更多相关文章

  1. 用dom4j解析xml文件并执行增删改查操作

    转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...

  2. 详解node + mongoDb(mongoDb安装、运行,在node中连接、增删改查)

    一.序言 好久没写博客了,这次主要聊聊 node 和 mongoDb . 先说明一下技术栈  node + express + mongoose + mongoDb.这篇博客,主要讲述 mongoDb ...

  3. Node.js之mysql增删改查

    1.安装库 npm install mysql 2.编写db.js(用作公共模块) //连接MySQL数据库 var mysql = require("mysql"); var p ...

  4. node.js封装数据库增删改查

    数据库增删改查的封装 小编不容易 const sql = { insert: function (Collection, insertData) { return new Promise((resol ...

  5. node.js 实现接口-操作文件进行用户增删改查

    首先安装npm,使用npm安装express npm install express -S /* * @Author: yinxin * @Date: 2020-03-27 10:18:41 * @L ...

  6. Python3练习:对员工信息文件,实现增删改查操作

    1.练习要求: 2.数据文件(data_staff.txt) 1,Alex Li,22,13651054684,运维,2013-02-04 2,Jack Wang,20,13312331232,HR, ...

  7. Python3.5 day4作业:对员工信息文件,实现增删改查操作。

    需求: 1.可进行模糊查询,语法至少支持下面3种: 1.select name,age from staff_table where age > 22 2.select  * from staf ...

  8. 5.Python文件操作之增删改查

    需求一:取文件的前几行: f = open("yesterday","r",encoding="utf-8") for i in range ...

  9. 文件操作之增删改查3---文件的修改,f.replace(),在linux里的一些应用sed,with语句方法来打开一个或多个文件避免忘记关闭,python一行写的太长,怎么编写多行的规范

    f.replace()with open("xxx","r",encoding="utf-8") as f: 想修改文件中间的数据,有两个办 ...

随机推荐

  1. JS多重判断 / ES6 includes

    Array.includes ()  判断数组是否包含某个元素 直接返回true或者false表示是否包含元素,对NaN一样能有有效 const arr = ['1', '2', 'a', 'b' , ...

  2. Python: ljust()|rjust()|center()字符串对齐

    通过某种对齐方式来格式化字符串 ①对于基本的操作,可以使用字符串的ljust(),rjust(),center() ②函数format()同样可以用来很容易的对齐字符串,使用<,>,~

  3. windows系统bat方式启动tomcat出现java.lang.OutOfmemoryError:PermGen Space 错误

    1.问题情景: 在部署项目时,将两个应用部署到同一个tomcat下,通过startup.bat启动服务时,控制台出现出现java.lang.OutOfmemoryError:PermGen Space ...

  4. Linux基础命令---swapon

    swapon 在指定的设备上启用交换分区,使用的设备或文件由专用文件参数提供.它可以是”-L label”或”-U UUID”,以指示一个设备的标签或UUID.对swapon的调用通常发生在系统引导脚 ...

  5. WordPress存在DoS拒绝服务漏洞,推荐删除根目录下的xmlrpc.php

    WordPress存在DoS拒绝服务漏洞,推荐删除根目录下的xmlrpc.php受影响的版本:WordPress 3.9.x-3.9.1WordPress 3.8.x-3.8.3WordPress 3 ...

  6. [转载] My97DatePicker日历实现开始日期小于结束日期验证

    <tr align='center'> <td align="right">开始日期: </td> <td align="lef ...

  7. MySQL数据库----完整性约束

    一.介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY ...

  8. WindowsServer-性能计数器

    https://jingyan.baidu.com/article/59703552e764e48fc00740dd.html

  9. java程序初始化顺序

    使用场景:  在java程序中,当实例化对象时,对象的所在类的所有成员变量首先要进行初始化,只有当所有类成员完成初始化后, 才会调用对象所在类的构造函数创建对象. 初始化的原则: (1)静态对象优先于 ...

  10. Python面试题之装饰器漫谈

    讲 Python 装饰器前,我想先举个例子,虽有点污,但跟装饰器这个话题很贴切. 每个人都有的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个办法就是把内裤改造一下,让它 ...