Node.js中文件和路径操作

一.fs模块对系统文件及目录进行读写操作
fs 模块提供了用于与文件系统进行交互(以类似于标准 POSIX 函数的方式)的 API。
要使用此模块:

const fs = require('fs');

1.读取文件readFile方法使用

//fs.readFile(filename,[option],callback) 方法读取文件。
const fs = require('fs');
// 设置编码格式
fs.readFile('node1.js', 'utf-8', function(err, data) {
    // 读取文件失败/错误
    if (err) {
        throw err;
    }
    // 读取文件成功
    console.log('utf-8: ', data.toString());  //hello  Word
});

2.写入文件writeFile方法使用

//使用fs.writeFile(filename,data,[options],callback)写入内容到文件。
const fs = require('fs'); // 引入fs模块
fs.writeFile('node1.js', 'node1.js', function(err) {
    if (err) {
        throw err;
    }
	console.log('写入成功');
});

3.在这里插入代码片创建目录mkdir

//fs.mkdir(path,[mode],callback)创建目录
// 引入fs模块
const fs = require('fs'); 
// 当前文件目录下创建作业文件夹
fs.mkdir('作业', function(err) {
    if (err) {
        throw err;
    }
    console.log('文件夹创建成功');
});

4.读取目录readdir

const fs = require('fs'); 
fs.readdir('作业', function(err, files) {
    if (err) {
        throw err;
    }
    console.log(files);  //作业目录下文件 [ 'n.js', 'n2.js' ]
});

5…删除空文件夹rmdir

const fs = require('fs'); 
//rmdir()删除的是空文件夹
fs.rmdir('作业', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log("删除成功");
})

6.删除文件unlink()

const fs = require('fs');
fs.unlink('node1.js', function(err) {
    if (err) {
        console.log(err);
        return false;
    }
    console.log("删除成功");
}) ;

7.复制文件

//  导入 fs 文件系统模块
const fs = require('fs');
//  读取文件 dataStr文件内容
fs.readFile('text1.txt', 'utf-8', (err, dataStr) => {
  if (err) return console.log('读取文件失败')
  // 写入到指定的文件中去
  fs.writeFile('text2.txt', dataStr, (err) => {
    if (err) return console.log('写入文件失败了')
    console.log('复制文件成功')
  })
})

8.追加文件

//  导入 fs 文件系统模块
const fs = require('fs');
//fs.appendFile(path, data[, options], callback)
// 参数1: 要追加的文件路径
// 参数2: 要追加的数据内容
// 参数3: 【可选参数,一般省略】追加时候的编码格式,默认已经是 utf-8 了
// 参数4: 追加完毕之后的回调函数
fs.appendFile('text2.txt', '\n world', (err) => {
  if (err) return console.log('追加文件失败:' + err.message)
  console.log('追加文件成功')
})

9.读取指定目录中所有文件的名称

//  导入 fs 文件系统模块
const fs = require('fs');
//fs.readdir(path[, options], callback)
// 读取目录,并得到目录下所有的文件和文件夹的名称
fs.readdir(__dirname, (err, filenames) => {
	if (err) throw err;
  console.log(filenames)  //[ 'node1.js', 'node2.js', 'text1.txt', 'text2.txt' ]
})

二.path模块对系统文件路径操作
1.路径的拼接

//导入path路径系统模块
// __dirname 表示的是一层目录, 当前这个文件所在的目录
//__filename  表示一个文件的路径,表示当前这个文件的完整路径
const path = require('path');
const abspath = path.join(__dirname, 'text3.txt');
console.log(abspath); //E:\前端课程\node\2020-8-7\node\text3.txt

2.获取路径最后部分

//导入path路径系统模块
const path = require('path');
//path.basename(path[, ext])
path.basename('E:\前端课程\node\2020-8-7\node\text3.txt');
// 返回: 'text3.txt'
path.basename('E:\前端课程\node\2020-8-7\node\text3.txt', '.txt');
// 返回: 'text3'

3.路径的目录名

//path.dirname(path)
path.dirname('E:\前端课程\node\2020-8-7\node\text3.txt');
// 返回: 'E:\前端课程\node\2020-8-7\node'

4.路径的扩展名

//path.extname(path)
//返回 path 的扩展名,即从 path 的最后一部分中的最后一个 .(句号)字符到字符串结束。 如果 path 的最后一部分没有 . 或 path 的文件名(参考 path.basename())的第一个字符是 .,则返回一个空字符串。
path.extname('index.html');
// 返回: '.html'

path.extname('index.coffee.md');
// 返回: '.md'

path.extname('index.');
// 返回: '.'

path.extname('index');
// 返回: ''

path.extname('.index');
// 返回: ''
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值