flujo de archivo de flujo

Uno: Como el mayor caché del búfer de memoria de búfer es de 1 GB, por lo que para leer y escribir archivos de gran tamaño no funcionará, para este fin, Node.js proporciona un flujo de archivo continuo.

  (1): módulo de corriente proporciona un funcionamiento flujo de archivos, Node.js hay muchas implementa el objeto de esta interfaz. Por ejemplo, la solicitud para iniciar un servidor de solicitud de destino es una corriente de HTTP, no stdout (salida estándar) y similares.

  (2): Corriente Hay cuatro tipos: lectura mecánica (flujo de archivos de lectura), grabables (flujo de archivos grabable), Dúplex: lectura-escritura secuencia de archivos, Transformar: los datos de la operación está escrito, entonces la lectura de los resultados (la corriente convertida ).

  (3): Node.js en el I / O es asíncrona, por lo que leer en el disco y red / escritura para leer los datos requeridos por la función de devolución de llamada y las necesidades de la función de devolución de llamada a ser activado por un evento, toda la ciudad EventEmitter objeto Corriente (activación de un evento) columnas reales, eventos comunes:

    los datos: cuando los datos de activación de lectura mecánica.

    END: sin disparador puede leer más datos.

    error: activa cuando se produce un error aceptar o escritura.

    terminar: Se activa cuando todos los datos se han escrito en el sistema subyacente.

  (4): Js-Flow legibles

/ * 
Leer la secuencia: 
permite a los usuarios leer el bloque de datos en el archivo de tallar archivo de origen, y luego leer los datos de la corriente de lectura. 
fs.createReadStream (path, [Opciones],); 
Opciones de estos parámetros son: 
. las banderas: la forma en la operación de archivo 
de codificación: codificación especificada, el valor predeterminado es nulo, el uso fs.setEncoding; ( 'UTF-8'.) 
Inicio: De iniciar iniciar la lectura. 
Fin :. leer el archivo hasta el final 
* / 
var FS = el require ( 'FS' );
 var tatal_data = '' ;
 var ReadStream = fs.createReadStream ( 'a.txt', encoding = '', las banderas = 'R & lt', Start = 'Start', End = 'End' ); 
readStream.setEncoding ( 'UTF-8' );
 // corriente Nota es dirigido por eventos 
readStream.on ( 'datos',DATA_BLOCK; 
}); 
readStream.on ( 'fin', la función () { 
    console.log (tatal_data); 
}); 
readStream.on ( 'error', la función (err) { 
    console.log (err.stack); 
}); 
输出:

D: \ Archivos de programa \ \ nodejs capítulo> nodo Js corriente legible
por que a menudo campo para hacer ?? // El error thingyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy: en la carpeta es para saludar, pero no vio cómo tratar con el libro.
T
O
P

  5: el uso de los datos del flujo de lectura que se leen en voz alta utilizando la corriente de escritura de datos se almacenarán en un archivo.

  

var FS = los require ( 'FS' );
 var ReadStream = fs.createReadStream ( 'a.txt' );
 var WriteStream = fs.createWriteStream ( 'D: / Archivos de programa / NodeJS / Capítulo / salida.txt' ); 
ReadStream. setEncoding ( 'UTF-8.' ); 
readStream.on ( 'datos', la función (DATA_BLOCK) { 
    writeStream.write (DATA_BLOCK); // archivo de la escritura corriente 
}); 
readStream.on ( 'error', la función (ERR) { 
    la console.log (err.stack); 
}); 
readStream.on ( 'fin', la función () {
     // los datos después de escribir todo caso extremo de disparo, que el archivo está cerrado.
    writeStream.end (); 
}); 
writeStream.on ( 'error', la función (write_err) { 
    console.log (write_err.stack); 
});

  6: el uso de tubería () archivos de gran tamaño de la manija:

/ * 
. Pipe () traducido en el tubo 
. En los node.js sobre través de este tubo y conectada al flujo de la corriente de escritura legible 
* / 
Var FS = la require ( 'FS' );
 // archivo de origen camino 
var SRCPATH = ' D: / archivos de programa / NodeJS / Capítulo / a.txt ' ;
 var distpath =' D: / archivos de programa / NodeJS / Capítulo / out.txt ' ;
 var ReadStream = fs.createReadStream (SRCPATH);
 var WriteStream = fs.createWriteStream (distpath);
 // puede escribir el acceso a una tubería en el flujo mediante el uso de una corriente funciones legible () 
SI (readStream.pipe (WriteStream)) 
{ 
    el console.log ( 'copia de archivos logró' ); 
} 
else 
{ 
    consola .log ( 'copia de archivos falló); 
} 
De salida:

D: \ Archivos de programa \ \ nodejs capítulo> tubería nodo de manejar grandes archivos .js
de copia de archivos de éxito

 

7: debe estar familiarizado con la función de los mecanismos de aplicación de devolución de llamada, y el mecanismo de evento de disparo.

  en Esta función se utiliza para enlazar el evento, y también a la práctica extendida de) Eventos desvinculación jquery.js (en.

 

Supongo que te gusta

Origin www.cnblogs.com/1314bjwg/p/12507971.html
Recomendado
Clasificación