• Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流


      1 /* 
      2  1. fs.stat  检测是文件还是目录(目录 文件是否存在) 
      3  2. fs.mkdir  创建目录 (创建之前先判断是否存在) 
      4  3. fs.writeFile  写入文件(文件不存在就创建,但不能创建目录) 
      5  4. fs.appendFile 写入追加文件 
      6  5. fs.readFile 读取文件 
      7  6. fs.readdir 读取目录 
      8  7. fs.rename 重命名 
      9  8. fs.rmdir  删除目录 
     10  9. fs.unlink 删除文件 
     11 */
     12  
     13 var fs=require('fs');   //fs是node.js的核心模块,不用下载安装,可以直接引入  
     14  
     15 //1. fs.stat  检测是文件还是目录  fs.statSync()同步获取stats对象,通过返回值接收。
     16 fs.stat('html',function(error,stats){
     17     if(error){
     18         console.log(error);
     19         return false;
     20     }
     21     console.log('文件:'+stats.isFile());
     22     console.log('目录:'+stats.isDirectory());
     23 })
     24  
     25  
     26 //2. fs.mkdir  创建目录  
     27 fs.mkdir('css',function(error){
     28     if(error){
     29         console.log(error);
     30         return false;
     31     }
     32     console.log('创建目录成功');
     33 })
     34  
     35  
     36 //3. fs.writeFile  写入文件(会覆盖之前的内容)(文件不存在就创建)  utf8参数可以省略  
     37 fs.writeFile('123.txt','你好nodejs 覆盖','utf8',function(error){
     38     if(error){
     39         console.log(error);
     40         return false;
     41     }
     42     console.log('写入成功');
     43 })
     44  
     45  
     46 //4. fs.appendFile 追加文件  
     47 fs.appendFile('123.txt','这是写入的内容
    ',function(error){
     48     if(error){
     49         console.log(error);
     50         return false;
     51     }
     52     console.log('写入成功');
     53 })
     54  
     55  
     56 //5.fs.readFile 读取文件  
     57 fs.readFile('123.txt',function(error,data){
     58     if(error){
     59         console.log(error);
     60         return false;
     61     }
     62     //console.log(data);  //data是读取的十六进制的数据。  也可以在参数中加入编码格式"utf8"来解决十六进制的问题;
     63     console.log(data.toString());  //读取出所有行的信息  
     64 })
     65  
     66  
     67 //6.fs.readdir 读取目录下第一级内容  把目录下面的文件和文件夹都获取到。  
     68 fs.readdir('html',function(error,data){
     69     if(error){
     70         console.log(error);
     71         return false;
     72     }
     73     console.log(data);  //data是数组类型,包含文件夹以及文件的名字(只有第一级目录内容)。拿到一个文件夹下面的所有目录  
     74 })
     75  
     76  
     77 //7.fs.rename 重命名  1.改名  2.剪切文件(移动)  
     78 fs.rename('html/index.html','html/news.html',function(error){
     79     if(error){
     80         console.log(error);
     81         return false;
     82     }
     83     console.log('修改名字成功');
     84 })
     85  
     86  
     87 //8. fs.rmdir  删除目录   rmdir 这个方法只能删除目录,不能删除文件  
     88 fs.rmdir('abc目录',function(error){
     89     if(error){
     90         console.log(error);
     91         return false;
     92     }
     93     console.log('删除目录成功');
     94 })
     95  
     96  
     97 //9. fs.unlink删除文件  
     98 fs.unlink('index.txt',function(error){
     99     if(error){
    100         console.log(error);
    101         return false;
    102     }
    103     console.log('删除文件成功');
    104 })
    105  
    106  
    107 //10. fs.createReadStream  从文件流中读取数据,读取的文件比较大时建议用流的方式读取,文件比较大会多次读取。  
    108 var fileReadStream = fs.createReadStream( 'data1.json');
    109 var str = '';
    110 fileReadStream.on('data', (data) => {
    111     console.log("接收到" + data.length);   //文件比较大时,会多次读取,多次执行该回调函数  
    112 str += data;
    113 })
    114 fileReadStream.on('end', () => {
    115     console.log(" --- 结束 ---");
    116 console.log( str );
    117 })
    118 fileReadStream.on('error', (error) => {
    119     console.log(error)
    120 })
    121  
    122  
    123 //11. fs.createWriteStream  写入文件流  
    124 var fs = require("fs");
    125 var data  = "我是从数据库获取的数据,我要保存起来";
    126 var writerStream = fs.createWriteStream('output.txt');
    127 writerStream.write( data , 'UTF8' );
    128 writerStream.end();  //标记文件末尾  结束写入流,释放资源  
    129 writerStream.on( 'finish',  function() {
    130     console.log("写入完成。");
    131 });
    132 writerStream.on( 'error',  function(error){
    133     console.log(error.stack);
    134 });
    135 console.log("程序执行完毕");
    136  
    137  
    138 //12. pipe 管道流  
    139 var fs = require("fs");
    140 var readerStream = fs.createReadStream( 'input.txt');
    141 var writerStream = fs.createWriteStream( 'output.txt');
    142 readerStream.pipe( writerStream );
    143 console.log("程序执行完毕");
    144  
    145  
    146 //13. fs.access 判断目录、文件是否存在(读写权限)
    147 var  fs = require('fs');
    148 fs.access('package.json',(err)=>{
    149     console.log(err ?  '目录/文件不存在': '文件存在,可以进行读写');
    150 });
    151  

    作者:

    链接:https://blog.csdn.net/houyanhua1/article/details/79443987

    来源:CSDN

  • 相关阅读:
    jdbc-------JDBCUtil类 工具类
    jdbc --- javabean
    MapReduce 找出共同好友
    mapReducer 去重副的单词
    用户定义的java计数器
    mapReducer第一个例子WordCount
    win10 Java环境变量,hadoop 环境变量
    Writable序列化
    io 流操作hdfs
    [常用命令]OSX命令
  • 原文地址:https://www.cnblogs.com/jokehl/p/9866317.html
Copyright © 2020-2023  润新知