1,读取文件目录:
新建fs.js(文件格式看上篇文章)
//引入文件模块fs
const fs = require('fs');
//读取目录
//异步
fs.readdir('../mian', function(err, arr) {
if (err) {
throw err;
}
//arr读取成功获得的参数
console.log(arr);
});
console.log('结束')
//同步
var q = fs.readdirSync('../mian');
console.log(q);
结果:
2,清空写入文件
格式:writeFile(文件的路径,写入的数据,回调函数)/writeFile Sync(文件的路径,写入的数据)
在本地目录下写入hello word
复制如下代码ctrl v后查看结果
//引入文件模块fs
const fs = require('fs');
fs.writeFile('./1.txt', 'hello word', function(err) {
if (err) {
throw err;
}
console.log('ok!');
});
3,追加写入文件
格式:appendwriteFile(文件的路径,写入的数据,回调函数)/appendwriteFile Sync(文件的路径,写入的数据)
在本地目录下写入hello word
//引入文件模块fs
const fs = require('fs');
fs.appendwriteFile('./1.txt', 'hello word', function(err) {
if (err) {
throw err;
}
console.log('ok!');
});
4,读取文件
格式:readFile(文件的路径,写入的数据,回调函数)/readwriteFile Sync(文件的路径,写入的数据)
//引入文件模块fs
const fs = require('fs');
//异步
fs.readFile('./data.txt', function(err, a) {
if (err) {
throw err;
}
console.log(a);
console.log(a.toString());
});
//同步
var s = fs.readFileSync('./1.txt')
console.log(s);
console.log(s.toString());
输出:
<Buffer 68 65 6c 6c 6f 20 77 6f 72 64>
hello word
<Buffer e6 8a 93 e9 98 bf e5 b1 b1 0a e7 8e 8b e4 ba 94 0a e8 b5 b5 e5 85 ad 0a e8 8e 8e e5 85 ab 0a 75 6e 64 65 66 69 6e 65 64 0a e8 b5 b5 e6 96 87 e5 8d 8e ... 73 more bytes>
抓阿山
王五
赵六
莎八
undefined
赵文华
抓阿山
王五
赵六
莎八
赵文华
抓阿山
王五
赵六
莎八
由于buffer模块使用的是ascll字符串所以我们要用tostring来转成中文
5,删除文件
格式:unlink()(文件的路径,回调函数)/unlinkSync(文件的路径,写入的数据)
使用异步删除1.txt
//引入文件模块fs
const fs = require('fs');
fs.unlink('./1.txt', function(err) {
if (err) {
throw err;
}
console.log(1)
});
6,检测文件目录是否存在
只有同步的方法,异步已经废弃
格式:var 变量=fs.existsSync('检测的文件')
//引入文件模块fs
const fs = require('fs');
var b=fs.existsSync('./1.txt')
console.log(b)
练习:检测1.txt是否存在,没有就创建,返回数值
//引入文件模块fs
const fs = require('fs');
var a = fs.existsSync('./1.txt');
if (a == false) {
fs.mkdirSync('./1.txt');
console.log('没有文件,已经重新创建')
} else {
console.log('文件存在')
}
输出:
C:\Users\>node 06_string_api.js
没有文件,已经重新创建
C:\Users\>node 06_string_api.js
文件存在
C:\Users\day08>