导入文件操作API
const fs = require('fs');
创建一个目录
fs.mkdir(目录名,回调)
//mkdir是一个函数,有两个参数,第二个参数是回调函数
//demo1是目录名
fs.mkdir('demo1', (ree) => {
try {
console.log('目录创建成功哦');
} catch (err) {
console.log('目录创建失败');
throw err;
}
})
文件的增删改查
创建文件并写入内容(如果文件存在就操作文件,如果文件不存在,就先创建文件,然后操作文件)
方式一:该方法会产生覆盖,可用于相同内容的更新fs.writeFile(文件名,写入的内容,写入的编码格式,回调函数)
//writeFile是一个函数,其有四个参数,第一参数表示文件的路径,第二个表示需要写入的内容,第三个是指定写入内容的编码格式,第四个是回调函数
fs.writeFile('demo1/file1.txt', 'wjs你好', 'utf8', (err) => {
if (err) throw err;
console.log('文件写入成功');
})
方式二:该方法不会产生覆盖,可用于对文件追加记录fs.appendFile(文件名,写入的内容,写入的编码格式,回调函数)
//appendFile也是一个函数,其参数与writeFile一样
fs.appendFile('demo1/file1.txt', '追加的数据', (err) => {
if (err) throw err;
console.log('文件写入成功');
})
读取文件内容
//readFile是一个函数,拥有三个参数,第一个参数表示文件路径,第二个参数表示读取内容的编码格式,第三个是回调函数,回调函数的第一个参数表示失败,第二个参数表示读取的内容
fs.readFile('demo1/file1.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
})
删除文件
//unlink是一个函数,有两个参数,第一个参数表示要删除的文件路径,第二个是回调函数
fs.unlink('demo1/file1.txt', (err) => {
if (err) throw err;
console.log('文件删除成功');
})
目录的增删改查
查看目录下的文件(返回的是一个数组)
//readdir的第一参数,表示需要查询的目录
fs.readdir('demo1', (err, files) => {
if (err) throw err;
console.log(files);
})
修改目录(文件)名称
//修改目录名称
//rename有三个参数,第一个表示需要修改的目录或文件名,第二个是需要修改成的目录或文件名,第三个是一个回调函数
fs.rename('demo1', 'mydemo', (err) => {
if (err) throw err;
console.log('重命名成功');
})
//修改文件时需要配置路径,否则被修改的文件会被提升到第一级目录下,造成路径改变
fs.rename('mydemo/hellowjs.txt', 'mydemo/hello.txt', (err) => {
if (err) throw err;
console.log('重命名成功');
})
删除目录(前提是该目录是空目录)
fs.rmdir('mydemo', (err) => {
if (err) throw err;
console.log('目录删除成功');
})