1、fs模块
readFile
读取文件:
var fs = require('fs'); // 引入fs模块
// 使用toString()
fs.readFile('./text.txt', function(err, data) {
// 读取文件失败/错误
if (err) {
throw err;
}
// 读取文件成功
console.log('toString: ', data.toString());
});
// 设置编码格式
fs.readFile('./text.txt', 'utf-8', function(err, data) {
// 读取文件失败/错误
if (err) {
throw err;
}
// 读取文件成功
console.log('utf-8: ', data);
});
writeFile
写文件:
var fs = require('fs'); // 引入fs模块
// 写入文件内容(如果文件不存在会创建一个文件)
// 传递了追加参数 { 'flag': 'a' }
fs.writeFile('./test2.txt', 'test test', { 'flag': 'a' }, function(err) {
if (err) {
throw err;
}
console.log('Saved.');
// 写入成功后读取测试
fs.readFile('./test2.txt', 'utf-8', function(err, data) {
if (err) {
throw err;
}
console.log(data);
});
});
flag
传递的值,r
代表读取(read)文件,w
代表写入(write)文件,a
代表追加(append)写入文件
fs.read()/fs.write()
:读写文件
var fs = require('fs'); // 引入fs模块
// 打开文件
fs.open('./testread.txt', 'r', function(err, fd) {
if (err) {
throw err;
}
console.log('open file success.');
var buffer = new Buffer(255);
// 读取文件
fs.read(fd, buffer, 0, 10, 0, function(err, bytesRead, buffer) {
if (err) {
throw err;
}
// 打印出buffer中存入的数据
console.log(bytesRead, buffer.slice(0, bytesRead).toString());
// 关闭文件
fs.close(fd);
});
});
备注:fs.open
打开文件后会有一个属于这个文件的fd
(文件描述符),将这个参数从回调函数里面传出来,后面的read
,write
和close
都需要用到这个fd
去操作相应的文件。
fs.mkdir(path, [mode], callback)
创建目录:
var fs = require('fs'); // 引入fs模块
// 创建 newdir 目录
fs.mkdir('./newdir', function(err) {
if (err) {
throw err;
}
console.log('make dir success.');
});
fs.readdir(path, callback)
:读取目录:
var fs = require('fs'); // 引入fs模块
fs.readdir('./newdir', function(err, files) {
if (err) {
throw err;
}
// files是一个数组
// 每个元素是此目录下的文件或文件夹的名称
console.log(files);
});
fs模块总结:
1、学习资料链接:https://www.shiyanlou.com/courses/running
2、使用中查看相应API:https://www.shiyanlou.com/courses/running