Node.js operaciones básicas con archivos y notas

  • modular:

    En nodo en un js es un módulo.

    ) Referido por módulos externos requieren (. Si la ruta es relativa, o ./ .. necesidad de comenzar.

    Un archivo es un módulo, hay una función imaginaria envuelto, por lo que quiero llamar en el exterior, es necesario el uso export.x

  • El módulo puede incluir referencias

    • El módulo principal directamente escribir el nombre en la lista.

    Por ejemplo, fs módulo

    • módulo de archivo
  • js en la ventana aquí es mundial

  • Recomendada manera module.exports.xxx, podemos declarar las llamadas externas.

  • Algunas operaciones de la NGP

    • NPM -v ver la versión del NPM
    • NPM versión Ver todas las versiones de los módulos
    • NPM paquete de búsqueda de nombre de Búsqueda Nombre
    • NPM instalación instale nombre del paquete (I pueden ser usados ​​en lugar de instalar)
    • NPM instalar Nombre del paquete --save dependencias del paquete de instalación y se añade a
    • NPM quitar el nombre de paquete a paquete de eliminación (se puede sustituir r remove)
    • NPM instalar descarga el proyecto actual depende del paquete
    • NPM instalar -g nombre del paquete paquete global instalada (por lo general la herramienta)
  • base de nudos

    • El concepto de memoria intermedia zona de amortiguamiento

      var buf = Buffer.from(str);
      var buf2 = Buffer.alloc(10);
      
      • Después de determinar el tamaño de la memoria intermedia no se modifica.

      • La memoria hexadecimal real, pero también lo hará la verdadera salida a la consola en un decimal.

      • Buffer.from (str) en un búfer de cadenas

      • Buffer.toString () de la memoria intermedia de datos en una cadena

    • Sistema de archivos

      • Archivos por nodo para operar el sistema.

      • var fs = require("fs");
        
      • Por lo general, dos grupos, con una sincronización de sincronización, sin asíncrono.

      • sincronización de archivos de escritura

      • var fd = fs.openSync("xxx.txt", "w");
        fs.writeSync(fd, "今天天气不错");
        fs.closeSync(fd);
        
      • asíncrona de archivos de escritura

        • Rendimiento relativamente bueno
        • Los resultados devueltos por la función de devolución de llamada
        • La función de devolución de llamada tiene dos parámetros:
          • err objeto de error
          • descriptor de fichero fd
        • Asíncrono tarde se llevan a cabo después de que el código de la función de devolución de llamada
      • //多一个回调函数 ,异步方法没有返回值
        fs.open("xxx2.txt", "w",function(err, fd){
            if(!err){
        			fs.write(fd, "今天天气不错" ,function(err){
                if(!err){
                  .写入成功.
                }
              });
        			fs.closeSync(fd,function(err){
                if(!err){
                   .文件成功关闭.
                }
              });
            }else {
              console.log(err);
            }
        });
        
      • simple de archivos de escritura

        • var fs = require("fs");
          fs.writeFile("hello3.txt", "这是通过writeFile写入的内容",{flag:"w"},function(err){
            if(!err){
              console.log("写入成功...");
            }
          });
          
      • Streaming de archivos se escriben

        • Escrito para archivos de gran tamaño

        • en (String Evento, callback)

        • una vez (Evento String, devolución de llamada) para unirse a una sola vez

        • var ws = fs.createWriteStream("Hello3.txt");
          ws.once("open", function(){
            console.log("233");
          })
          ws.once("close", function(){
            console.log("233");
          })
          ws.write("通过可写流写入文件的内容");
          ws.write("通过可写流写入文件的内容");
          ws.write("通过可写流写入文件的内容");
          
          ws.end();
          //不要用ws.close(),拔掉水管的那一头
          
      • Sincronizar archivos en lectura

      • Lectura de archivos asincrónica

      • de archivos de lectura sencilla

        var fs = require("fs");
        fs.readFile("hello3.txt", function(err, data){
          if(!err) {
            console.log(data);
        		//也可以整合上面的writeFile
          }
        })
        
      • Streaming de lectura de archivos

        • Se puede dividir en varias veces para leer un archivo de gran tamaño en la memoria.

        • var fs = require("fs");
          var rs = fs.createReadStream("an.jpg");
          //监听流的开启和关闭
          rs.once("open", function(){
            console.log("可读流打开了~~~");
          });
          rs.once("close", function(){
            console.log("可读流关闭了~~~");
          });
          
          //为data绑定事件,就可以自动运行
          rs.on("data", function(){
            //实现复制的效果。
            ws.write(date);
          });
          
          //传输数据,还可以用pipe简化
          rs.pipe(ws);
          
      • Algunos otros métodos de operaciones de archivo

        • fs.stat("a.mp3", function(err, stat){
          	//查看是不是文件、目录
            console.log(stat.isFile());
            console.log(stat.isDirectory());
            
          });
          //删除文件
          fs.unlinkSync("hello.txt");
          //读取当前文件目录结构
          fs.readdir(".", function(err, files){
            if(!err){
              console.log(files);
            }
          });
          
          //截断文件,将文件前3个留下来。
          fs.truncateSync("hello2.txt", 3);
          //创建文件夹
          fs.mkdirSync("hello");
          //删除文件夹
          fs.rmdirSync("hello");
          //重命名,前两个是目录字符串
          fs.rename("a.mp3", "笔记.mp3",function(err) {
            if(!err){
              console.log("修改成功~~~");
            }
          });
          
          //监视文件的修改,回调函数,当文件发生变化的,被执行。
          //运行起来,就会一直运行,不会停。
          //拥有定时机制
          fs.watchFile("hello2.txt",{interval:1000},function(curr, prev){
            //上面两个参数,都是stat类型的。
            console.log("文件发生了变化");
          });
          
          

Supongo que te gusta

Origin www.cnblogs.com/ckxkexing/p/12637198.html
Recomendado
Clasificación