node(3)

7191 단어

일반 모듈


fs 모듈


파일 읽기

  • 비동기식 읽기 파일 내용
    fs.readFile("1.txt", "utf-8", function (err, data) {
      if (err) {
          console.error(err);
          return;
      }
      console.log(data);
    
  • });
    *      
    
        ```   
        var data = fs.readFileSync("1.txt", "utf-8");
        console.log("data: " + data);  
        ```     
         
    ####    
      *  writeFile 
        
        ```  
        fs.writeFile("2.txt", " , ", {
            flag: "a"
        }, function (err) {
            if (err) {
                console.error(err);
                return;
            }
            console.log(" ");
        });  
        ```  
    * appendFile    
      
    

    fs.appendFile("3.txt", "까르푸카드의 디자인비는 늘어날 수 있는 기계로 보낸다",function(err){if(err){console.log(err);return;}console.log(파일 쓰기 성공);};
     writeFile "flag:a" 。w   
      
    *    
        nodojs 。 , 。  
         
       ``` 
       var fs = require("fs");
       function copy(source,des){
           fs.readFile(source, "utf-8", function (err, data) {
               if (err) {
                   console.error(err);
                   return;
               }
               
               //  
               fs.writeFile(des, data, {
                   flag: "w",
                   encoding: "utf-8"
               }, function (err) {
                   if (err) {
                       console.error(err);
                       return;
                   }
                   console.log(" ");
               });
           });
       }
       ```    
       
    ####    
    *        mkdir     
    
       ```  
       var fs = require('fs');
       fs.mkdir("dirName", 0777, function (err) {
           if (err) {
               console.error(err);
           }
       });  
       ```  
    *      readdir
     
    
    var fs = require('fs');
    fs.readdir("test", function (err, files) {
        if (err) {
            console.error(err);
            return;
        }
        
        // files , 
        console.log(files);
    });
    ```    
    
  • 파일에 exists가 존재하는지 판단
    fs.exists("test/test7", function (res) {
      console.log(res);
      });  
        
    
  • 디렉터리나 파일 상세 보기stat
    fs.stat("test/hah.txt", function (err, stat) {
          if (err) {
              console.error(err);
              return;
          }
      
          console.log(stat);
      });  
    
  • 수정된 파일 이름rename
    fs.rename("test", "testttttttt", function (err) {
      if (err) {
          console.error(err);
          return;
      }
      console.log(" ");
    });  
    
  • 상대 경로 획득 절대 경로
    fs.realpath("test", function (err, path) {
        if (err) {
            console.error(err);
            return;
        }
        console.log(path);
    });  
    
  • util 모듈

  • 유형 검증
    console.log(util.isArray([])); //  
    console.log(util.isRegExp(/\d/)); //    
    
  • 원형의 내용을 계승하고 자신의 내용을 계승하지 않는다
        //  
    function Person() {
        this.name = " ";
        this.age = 30;
        this.say = function () {
            console.log(this.name);
        };
    }
    
    Person.prototype.showAge = function () {
        console.log(this.age);
    };
    
    function Student() {
        Person.apply(this, arguments);
        this.name = " ";
    }
    //  
    Student.prototype = Person.prototype
    //uti.inherits(Student,Person)  
    util.inherits(Student, Person);
    
    Student.prototype.show = function() {
        console.log("haha");
    };
    
    var personObj = new Person();
    var studentObj = new Student();
    
    studentObj.say();
    studentObj.showAge();
    studentObj.show();  
    
    
  • 이벤트 이벤트 모듈

  • 지난 절에서 사건에 대해 일정한 설명을 했다.다음은 몇 가지 용법의 보충이다.
  • 이벤트 모듈을 가져오는 두 가지 방법
  • var events = require('events').EventEmitter();//구형 쓰기
  • var events = require('events');//새로운 쓰기
  • 이벤트를 귀속시키는 방법
  • obj.on('eventName',function);
    girl.on("ele", function () {
          console.log(" ");
      });  
    
  • * obj.addlistener('eventName",function)  
     
     ```  
     girl.addListener("ele", function () {
       console.log(" ");
    });  
    
  • 이벤트 트리거
  • obj.emit("eventName");
    girl.emit("ele");  
    

  • 이벤트 귀속 중 귀속 후 하나의obj만 터치할 수 있습니다.once(“eventName”, function);
    girl.once("die", function () {
    console.log(" ");
    });  
    

  • buffer 클래스

  • 캐시: 임시 캐시 클래스의 데이터
  • js 자체는 문자열만 있고 이진 형식은 없습니다. 파일을 처리할 때 이진 데이터가 필요하기 때문에 node에서 버퍼 클래스를 정의합니다
  • 는 8자리 바이트와 4자리 바이트 요소로 구성된 수조로 단위는 16진법이다.
  • buffer 관련 방법
  • 생성 길이 12buff
        //  12 
    var buff = new Buffer(12);
    
    // ( , , ( ))
    buff.fill(255, 0, 4);
    
    console.log(buff);  
    
  • 수 그룹 창설
    var buff = new Buffer([1, 2, 3]);
     console.log(buff);  
    
  • 문자열 생성
     var buff = new Buffer(" ");
      console.log(buff);  
    
  • 버퍼를 문자열로 바꾸기
        var buff = new Buffer([0xe6, 0x9d, 0x8e, 0xe5, 0xa4, 0xa7, 0xe6, 0xb3, 0xbd]);
        console.log(buff.toString());  
    
  • buffer 연결
  • var buff1 = new Buffer([0xe6, 0x9d, 0x8e, 0xe5]);
    var buff2 = new Buffer([0xa4, 0xa7, 0xe6, 0xb3, 0xbd]);
    
    var buff3 = Buffer.concat([buff1, buff2]); //  buff, 
    
    console.log(buff1.toString());
    console.log(buff2.toString());
    console.log(buff3.toString());
    
    
    // Node 
    var StringDecoder = require('string_decoder').StringDecoder;
    var decoder = new StringDecoder();
    console.log(decoder.write(buff1));
    console.log(decoder.write(buff2));    
    

    stream

  • 소개 흐름의 작용은 데이터의 처리 비밀과 분리할 수 없다.
  • 처리 방법은readStream과 writeStream을 만들고 파일을 하나의 작은 블록의 데이터 흐름으로 처리한다. 전체 기술
    var fs = require('fs');
    
    var rs = fs.createReadStream("data.json");
    var ws = fs.createWriteStream("data2.json");
    
    rs.on("data", function (chunk) {
        console.log(" 。。。。");
    
        ws.write(chunk, function () {
            console.log(" ");
        });
    });
    rs.on("end", function () {
        console.log(" ");
    });  
    
    pipe가 하나의 데이터 흐름을 연결하는 것이 아니라 파이프처럼 데이터를 읽고 쓰기
    ```  
      var fs = require('fs');
      var rs = fs.createReadStream("data.json");
      var ws = fs.createWriteStream("data3.json");
      rs.pipe(ws);  
    ```
    
  • path 모듈

  • 현재 경로 가져오기dirname
  • 규범화 문자열 경로normalize
  • 연결 경로join
  • 절대 경로로 해석됨resolve.현재 디렉토리를 나타냅니다..대표 상위 디렉토리/대표 하위 분할
  •     var fs = require('fs');
        
        var path = require('path');
        
        var file1 = path.normalize("./../a///b/c/../d//");
        console.log(file1);
        
        console.log(__dirname);
        
        var file2 = path.join(__dirname, "a", "b", "..", "c");
        console.log(file2);
        
        //
        // console.log(path.resolve("./test/index.html"));
        // console.log(path.resolve("www", "root", "../css/common.css"));
        // console.log(path.resolve("../7.fs/img.js"));
        
    

    좋은 웹페이지 즐겨찾기