node 文件、文件夹 增删改查
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 文件、文件夹 增删改查的更多相关文章
- 用dom4j解析xml文件并执行增删改查操作
转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...
- 详解node + mongoDb(mongoDb安装、运行,在node中连接、增删改查)
一.序言 好久没写博客了,这次主要聊聊 node 和 mongoDb . 先说明一下技术栈 node + express + mongoose + mongoDb.这篇博客,主要讲述 mongoDb ...
- Node.js之mysql增删改查
1.安装库 npm install mysql 2.编写db.js(用作公共模块) //连接MySQL数据库 var mysql = require("mysql"); var p ...
- node.js封装数据库增删改查
数据库增删改查的封装 小编不容易 const sql = { insert: function (Collection, insertData) { return new Promise((resol ...
- node.js 实现接口-操作文件进行用户增删改查
首先安装npm,使用npm安装express npm install express -S /* * @Author: yinxin * @Date: 2020-03-27 10:18:41 * @L ...
- Python3练习:对员工信息文件,实现增删改查操作
1.练习要求: 2.数据文件(data_staff.txt) 1,Alex Li,22,13651054684,运维,2013-02-04 2,Jack Wang,20,13312331232,HR, ...
- Python3.5 day4作业:对员工信息文件,实现增删改查操作。
需求: 1.可进行模糊查询,语法至少支持下面3种: 1.select name,age from staff_table where age > 22 2.select * from staf ...
- 5.Python文件操作之增删改查
需求一:取文件的前几行: f = open("yesterday","r",encoding="utf-8") for i in range ...
- 文件操作之增删改查3---文件的修改,f.replace(),在linux里的一些应用sed,with语句方法来打开一个或多个文件避免忘记关闭,python一行写的太长,怎么编写多行的规范
f.replace()with open("xxx","r",encoding="utf-8") as f: 想修改文件中间的数据,有两个办 ...
随机推荐
- ShuffleElements(随机打乱数组中的元素)
给定一个数组,随机打乱数组中的元素,题意很简单直接上代码: package Array; import java.util.Arrays; import java.util.Collections; ...
- #C++初学记录(ACM试题2)
Max Sum Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-seq ...
- VS2010/MFC编程入门之三十八(状态栏的使用详解)
上一节中鸡啄米讲了工具栏的创建.停靠与使用,本节来讲解状态栏的知识. 状态栏简介 状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态.状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用 ...
- POJ3581 后缀数组
http://poj.org/problem?id=3581 这题说是给了N个数字组成的序列A1 A2 ..An 其中A1 大于其他的数字 , 现在要把序列分成三段并将每段分别反转求最小字典序 以后还 ...
- Protobuffer简介c#
一.Protobuffer和json深度对比 JSON相信大家都知道是什么东西,如果不知道,那可就真的OUT了,GOOGLE一下去.这里就不介绍啥的了. Protobuffer大家估计就很少听说了,但 ...
- Impala和Hive的关系(详解)
Impala和Hive的关系 Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中.并且im ...
- win7 xampp 验证码,session出不来的问题
win7 xampp 验证码,session出不来的问题 需要在前面加上全路径,如:"\xampp\tmp" 变成"D:\xampp\tmp" Warning: ...
- 汽车变智能只靠ADAS?麦克风也是主角
在先进驾驶辅助系统(ADAS)中,结合视觉处理器的CMOS影像感测器已在协助汽车辨识与分类方面发挥关键作用.至于其“听觉”呢? 麦克风也能扮演像摄影机般重要的角色,为自动驾驶车增添更多“智慧”功能吗? ...
- 案例:java进制互转
十 进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBina ...
- 20145339顿珠 MS08_067漏洞测试
20145339顿珠 Exp5 MS08_067漏洞测试 实验过程 IP地址:192.168.1.104 虚拟机ip:192.168.1.102 在控制台内使用search ms08_067查看相关信 ...