黑暗森林

  • 首页

  • 标签

  • 分类

  • 归档

nodejs-path模块

发表于 2019-06-17 | 分类于 nodes

路径操作

1
var absolute_path = path.join(__dirname, 'a', 'b.txt');

获取路径最后一部分

1
2
3
var path = require('path');
var basename = path.basename(absolute_path);
console.log(basename);

获取当前绝对目录路径

1
2
3
var path = require('path');
var dirname = path.dirname(absolute_path);
console.log(dirname);

获取路径后缀名

1
2
3
var path = require('path');
var extname = path.extname(absolute_path);
console.log(extname)

返回指定格式的路径字符串

1
2
3
4
5
6
7
8
var path = require('path');
var format = path.format({ // 存在dir属性会忽略root,存在base属性会忽略name和ext
root: '',
dir: path.dirname(absolute_path),
base: path.basename(absolute_path),
name: '',
ext: ''
});

解析路径为一个对象

1
2
3
var path = require('path');
var parse = path.parse(absolute_path); //解析路径为五个基本属性: root,dir,base,ext,name
console.log(parse);

根据路径片段返回一个完整的路径

1
2
3
var path = require('path');
var resolve = path.resolve('w', 'ab', '../c');
console.log(resolve); // 返回:/Users/xxl340395462/nodejs/demo-buffer/w/c

平台路径片段分隔符

1
2
3
var path = require('path');
var sep = path.sep;
console.log(sep);

平台路径定界符

1
2
3
var path = require('path');
var delimiter = path.delimiter; // 路径定界符
console.log(delimiter);

nodejs-fs模块

发表于 2019-06-17 | 分类于 nodes

文件操作

创建/写入文件

1
2
3
4
5
6
7
8
9
var fs = require('fs');
fs.writeFile('a.txt', '', { //写入数据类型: string,buffer,url,fd(即文件描述符)
encoding: 'utf8',
mode: '0o666', // 权限,可通过chmod更改
flag: 'w' //a追加,w写入,r读取,a+读取和追加,w+读取和写入,r+读取和写入,'a'、'a+'、'w'、'w+'下如果文件不存在则创建文件
}, (err) => {
if (err) throw err;
console.log('文件创建/写入成功');
});

读取文件(参数与writeFile相同)

1
2
3
4
5
var fs = require('fs');
fs.readFile('a.txt', (err, data) => {
if (err) throw err;
console.log('读取文件内容: ', data);
});

文件描述符和文件写入读取关闭操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var fs = require('fs');
fs.open('a.txt', 'a+', (err, fd) => {
if (err) throw err;
var write_data = '写入数据';
// 或者write_data可以是buffer
fs.write(fd, '写入数据', write_data, 0, 'utf8', (err, written, data) => {
if (err) throw err;
console.log('写入数据的字节数: ', written);
console.log('写入的数据: ', data); // 如果传入的是buffer,则返回的是buffer

fs.read(fd, Buffer.alloc(8), 0, 8, null, (err, bytesRead, buffer) => {
if (err) throw err;
console.log('读取字节数: ', bytesRead);
console.log('写入buffer', buffer.toString());

fs.close(fd, (err) => {
if (err) throw err;
console.log('关闭成功');
});
})
})
})

删除文件/软链接

1
2
3
4
5
var fs = require('fs');
fs.unlink('a.txt', (err) => {
if (err) throw err;
console.log('文件已删除');
});

复制文件

1
2
3
4
5
var fs = require('fs');
fs.copyFile('a.txt', 'dest/a.txt', (err) => {
if (err) throw err;
console.log('源文件已拷贝到目标文件');
});

创建文件夹

1
2
3
4
5
var fs = require('fs');
fs.mkdir('dest/a',{ recursive: true }, (err) => {
if (err) throw err;
console.log('文件夹创建成功');
});

删除文件夹

1
2
3
4
5
var fs = require('fs');
fs.rmdir('dest/a', (err) => {
if (err) throw err;
console.log('文件夹删除成功');
});

重命名(或者移动)文件/文件夹

1
2
3
4
5
var fs = require('fs');
fs.rename('dest/a', 'dest/b' (err) => {
if (err) throw err;
console.log('文件夹重命名成功');
});

读取文件夹

1
2
3
4
5
var fs = require('fs');
fs.readdir('dest/a', (err, files) => { //files是数组,元素为文件/文件夹名
if (err) throw err;
console.log('文件夹下资源: ', files);
});

读取文件/文件夹状态

1
2
3
4
5
var fs = require('fs');
fs.stat('dest/a.txt', (err, stats) => { //stats是类fs.Stat的实例
if (err) throw err;
console.log('文件状态: ', stats);
});

Hello World

发表于 2019-06-08

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

三醒

三醒

世界属于三体
3 日志
1 分类
2 标签
GitHub
© 2019 三醒
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Gemini v7.1.2