zoukankan      html  css  js  c++  java
  • node 文件、文件夹 增删改查

    1. 文件夹

    增加文件夹

    var fs = require("fs");
    console.log("创建目录 tmp");
    fs.mkdir("tmp",function(err){
       if (err) {
           return console.error(err);
       }
       console.log("目录创建成功。");
    });
    View Code

    多层级 文件夹 

    var fs = require("fs");  
    var path = require("path");  
      
    // 递归创建目录 异步方法  
    function mkdirs(dirname, callback) {  
        fs.exists(dirname, function (exists) {  
            if (exists) {  
                callback();  
            } else {       
                mkdirs(path.dirname(dirname), function () {  
                    var fn = callback
                    console.log('callback',fn.toString())
                    fs.mkdir(dirname, callback);  
                    console.log('在' + path.dirname(dirname) + '目录创建好' + dirname  +'目录');
                });  
            }  
        });  
    }  
    
    mkdirs('./t77t/dashboard-1.10.1/src/app/frontend/deploy/validators',() => {
        console.log('done');
    })
    View Code

    删除文件夹

    var fs = require("fs");
    console.log("准备删除目录 tmp");
    fs.rmdir("tmp",function(err){
       if (err) {
           return console.error(err);
       }
       console.log('clear');
       fs.readdir("tmp",function(err, files){
          if (err) {
              return console.error(err);
          }
          files.forEach( function (file){
              console.log( file );
          });
       });
    });
    View Code

    查看文件夹

    var fs = require("fs");
    console.log("查看 /tmp 目录");
    fs.readdir("a",function(err, files){
       if (err) {
           return console.error(err);
       }
       files.forEach( function (file){
           console.log( file );
       });
    });
    View Code

    2.文件

    增加文件

    var fs = require("fs");
    console.log("准备写入文件");
    fs.writeFile('bb.js', '我是通 过fs.writeFile 写入文件的内容',  function(err) {
       if (err) {
           return console.error(err);
       }
       console.log("数据写入成功!");
       console.log("--------我是分割线-------------")
       console.log("读取写入的数据!");
       fs.readFile('b.js', function (err, data) {
          if (err) {
             return console.error(err);
          }
          console.log("异步读取文件数据: " + data.toString());
       });
    });
    View Code

    删除文件

    var fs = require("fs");
    console.log("准备删除文件!");
    fs.unlink('b.js', function(err) {
       if (err) {
           return console.error(err);
       }
       console.log("文件删除成功!");
    });
    View Code

    修改文件

    // 截取文件
    var fs = require("fs");
    var buf = new Buffer.alloc(1024);
    console.log("准备打开文件!");
    fs.open('b.js', 'r+', function(err, fd) {
       if (err) {
           return console.error(err);
       }
       console.log("文件打开成功!");
       console.log("截取10字节内的文件内容,超出部分将被去除。");
       
       // 截取文件
       fs.ftruncate(fd, 10, function(err){
          if (err){
             console.log(err);
          } 
          console.log("文件截取成功。");
          console.log("读取相同的文件"); 
          fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
             if (err){
                console.log(err);
             }
    
             // 仅输出读取的字节
             if(bytes > 0){
                console.log(buf.slice(0, bytes).toString());
             }
    
             // 关闭文件
             fs.close(fd, function(err){
                if (err){
                   console.log(err);
                } 
                console.log("文件关闭成功!");
             });
          });
       });
    });
    View Code

    查看文件

    var fs = require("fs");
    fs.readFile('b.js', function (err, data) {
       if (err) {
           return console.error(err);
       }
       console.log("异步读取: " + data.toString());
    });
    View Code

    文件其他操作

    打开文件

    var fs = require("fs");
    console.log("准备打开文件!");
    fs.open('b.js', 'r+', function(err, fd) {
       if (err) {
           return console.error(err);
       }
      console.log("文件打开成功!");     
    });
    View Code

    关闭文件

    var fs = require("fs");
    var buf = new Buffer.alloc(1024);
    console.log("准备打开文件!");
    fs.open('b.js', 'r+', function(err, fd) {
       if (err) {
           return console.error(err);
       }
       console.log("文件打开成功!");
       console.log("准备读取文件!");
       fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
          if (err){
             console.log(err);
          }
    
          // 仅输出读取的字节
          if(bytes > 0){
             console.log(buf.slice(0, bytes).toString());
          }
    
          // 关闭文件
          fs.close(fd, function(err){
             if (err){
                console.log(err);
             } 
             console.log("文件关闭成功");
          });
       });
    });
    View Code

    读取字节流

    var fs = require("fs");
    var buf = new Buffer.alloc(1024);
    console.log("准备打开已存在的文件!");
    fs.open('b.js', 'r+', function(err, fd) {
       if (err) {
           return console.error(err);
       }
       console.log("文件打开成功!");
       console.log("准备读取文件:");
       fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
          if (err){
             console.log(err);
          }
          console.log(bytes + "  字节被读取");
          
          // 仅输出读取的字节
          if(bytes > 0){
             console.log(buf.slice(0, bytes).toString());
          }
       });
    });
    View Code

    3.其他

    文件、文件夹之间区分

    var fs = require('fs');
    fs.stat('a', function (err, stats) {
        console.log(stats.isFile());         //true   stats.isDirectory()
    })
    View Code

    参考网址

  • 相关阅读:
    curl 带 body
    import com.sun.org.apache.xml.internal.security.utils.Base64问题
    动静分离业务解决网页请求不被串改
    java 主动信任证书
    IO 多路复用详解
    spanish-1.1
    spring data JPA entityManager查询 并将查询到的值转为实体对象
    微信二维码支付报错
    军训入营学生发言稿
    电位器控制两个 LED 灯交替闪烁
  • 原文地址:https://www.cnblogs.com/justSmile2/p/10040397.html
Copyright © 2011-2022 走看看