node fs文件操作备忘

152 阅读2分钟

导入文件操作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('目录删除成功');
 })