nodejs内置模块fs的使用

  1. fs.stat 检测是文件还是目录
  2. fs.mkdir 创建目录
  3. fs.writeFile 创建写入文件
  4. fs.appendFile 追加文件
  5. fs.readFile 读取文件
  6. fs.readdir 读取目录
  7. fs.rename 重命名
  8. fs.rmdir 删除目录
  9. fs.unlink 删除文件
  10. fs.createReadStream 从文件流中读取数据
  11. fs.createWriteStream 写入文件

  • fs.stat检测是文件还是目录

const fs=require('fs')
// fs.stat  检测是文件还是目录
fs.stat('.html',(err,data)=>{
  if(err){
    console.log(err);
    return;
  }
  console.log(`是文件:${data.isFile()}`)
  console.log(`是目录:${data.isDirectory()}`)
})
  • fs.mkdir 创建目录

/*
* path  将创建的目录路径
* mode  目录权限(读写权限),默认 777
* callback  回调,传递异常参数 err
*/

fs.mkdir('./css',(err)=>{   // 检测css目录是否存在
    if(err){
      console.log(err)
      return;
    }
    console.log('创建成功')
})
  • fs.writeFile 创建写入文件

// 如果创建的文件不存在直接创建写入,如果要创建的文件已存在,会替换原来的内容
fs.writeFile('./html/index.html','你好nodejs',(err)=>{
  if(err){
     console.log(err)
      return
  }
  console.log('创建写入文件成功')
})
  • fs.appendFile 追加文件

// 如果要追加的文件不存在,会先创建再写入,如果文件存在,这时直接追加   
// \n 换行
fs.appendFile('./css/base.css','body{color:red}\n',(err)=>{
  if(err){
     console.log(err)
      return
  }
  console.log('appendFile成功')
})
  • fs.readFile 读取文件

fs.readFile('./html/index.html',(err,data)=>{
  if(err){
     console.log(err)
      return
  } 
  console.log(data) //读取到的文件是一个Buffer 数据 
  console.log(data.toString()); // 转化Buffer为String类型
})
  • fs.readdir 读取目录

// 读取了html目录下的文件名,以及目录下的目录
fs.readdir('./html',(err,data)=>{
  if(err){
     console.log(err)
      return
  } 
  console.log(data) // ['index.html','js']  其中js是一个目录
 
})
  • fs.rename 重命名 功能:1. 表示重命名 2.移动文件

/*
* parma1 旧文件名字
* param2  要改成的文件名
* param3  回调函数
*/
fs.rename('./html/aa.html','./html/home.html',(err)=>{
  if(err){
     console.log(err)
      return
  } 
  console.log('重命名成功')
})
// 移动文件  可以移动的同时修改文件名称
fs.rename('./html/home.html','./css/home.html',(err)=>{
  if(err){
     console.log(err)
      return
  } 
  console.log('移动文件成功')
})
  • fs.rmdir 删除目录

// aa 目录下有文件 ,直接删除会报错 这个时候要先执行 fs.unlink 删除文件
fs.rmdir('./aa',(err)=>{
  if(err){
     console.log(err)
      return
  } 
  console.log('删除目录成功')
})
  • fs.unlink 删除文件

fs.unlink('./aa/index.html',(err)=>{
  if(err){
     console.log(err)
      return
  } 
  console.log('删除文件成功')
})
  • fs.createReadStream 从文件流中读取数据

const fs = require('fs');
var fileReadStream = fs.createReadStream('data.json');
let count = 0;
var str = '';
fileReadStream.on('data',(chunk)=>{
  console.log(`${++count} 接收到:${chunk.length}`)
  str +=chunk;
})
fileReadStream.on('end',() => {
  console.log('--- 结束 ---'); 
  console.log(count); 
  console.log(str); 
})
fileReadStream.on('error', (error) => {
  console.log(error)
}) 
  • fs.createWriteStream 写入文件

从数据库中获取文件内容,存入至指定的文件(output.txt)中

var fs = require("fs");
var data = '我是从数据库获取的数据,我要保存起来';
// 创建一个可以写入的流,写入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.txt'); // 使用 utf8 编码写入数据 writerStream.write(data,'UTF8');
// 标记文件末尾
writerStream.end();
// 处理流事件 --> finish 事件 writerStream.on('finish', function() {

console.log("写入完成。"); });

writerStream.on('error', function(err){ console.log(err.stack);

}); console.log("程序执行完毕"); 

 

你可能感兴趣的:(笔记,nodejs)