Septimo Tutorial Node js System
Ejemplo de lectura de una txt de manera asincrona:
var fs = require("fs"); // Asynchronous read fs.readFile('input.txt', function (err, data) { if (err) { return console.error(err); } console.log("Asynchronous read: " + data.toString()); }); // Synchronous read var data = fs.readFileSync('input.txt'); console.log("Synchronous read: " + data.toString()); console.log("Program Ended");
Como ya menciones se tiene muchas funcionalidades en cuanto a lectura de archivos txt estos son algunos:
fs.open(path, flags,[model],callback) Permite abrir un archivo local
donde path: es la direccion donde se encuentra el archivo se incluye el nombre
flags: indica el comportamiento que tendra el archivo que sera abierto todos estos valores posibles los detallere mas adelante.
mode: Establece el modo de archivo por defecto si no se pone es 0666.
callback: es la funcion que toma dos argumentos en caso de tener un error como err y fd para un archivo resuelto satisfactoriamente sea cual sea el flag tomado.
flags posibles:
r : Abre un archivo unicamente para su lectura
r+ : Abre un archivo que sera para lectura y para escritura
rs: Abre un archivo para lectura de manera asincrona
rs+ : Abre un archivo para lectura y escritura de manera asincrona
w: Abre un archivo para escritura, el archivo se crea en el caso de no existir antes
wx: La misma funcionalidad que el w pero si no se especifica una ruta muesta un error.
w+: Abre un archivo de lectura y escritura de manera asincrona lo crea en caso de no existir.
wx+: Como el w+ pero si no existe el archivo lo crea.
a: Abre un archivo para poder ser anexado a otro.
a+: Abre un archivo para lectura y para ser anexado.
ax+ y ax: Combina las denominaciones previas.
Ejemplo con r+:
var fs = require("fs"); // Asynchronous - Opening File console.log("Going to open file!"); fs.open('input.txt', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("File opened successfully!"); });
Como obtener cierta información del archivo para eso tenemos en node js varios metodos que permite conocer su nombre e incluso su directorio:
fs.stat(path,callback) donde path es la ruta del archivo y el callback como mecione antes el retorno en caso de ser error rr y en caso de que el flag funcione la respuesta.
stats.isfile() : Retorna un valor booleano true si es un archivo
stats.isdDirector(): Retorna true si es archivo de tipo directorio
stats.is BlockDevice(): Retorna true si es un archivo privado.
stats.isCharacterDevice(): Retorna true si el archivo es un caracter de desipostivo.
stast.isSymbolicLink(): Retorna true si el archivo es un link simbolico.
stats.is FIFO(): Retorna true si el archivo es tipo FIFO
stats.isSocket(): Retorna true si el archivo es un socket.
Ejemplo:
var fs = require("fs"); console.log("Going to get file info!"); fs.stat('input.txt', function (err, stats) { if (err) { return console.error(err); } console.log(stats); console.log("Got file info successfully!"); // Check file type console.log("isFile ? " + stats.isFile()); console.log("isDirectory ? " + stats.isDirectory()); });
Leer un archivo:
fs.read(fd, buffer, offset, length, position, callback)
donde fd: Retorna un valor en caso que el archivo ya este abierto
buffer: el buffer que almacena la informacion que va ser leida.
offset: el punto clave desde donde se empezara a leer un archivo
length: este en un entero que especifica el numero de byts que se leera.
position: este e un entero que especifica donde empezara a leer desde el archivo, si la posicion es null, la información se empezaría a leer desde la actual posición del archivo.
Ejemplo:
var fs = require("fs"); var buf = new Buffer(1024); console.log("Going to open an existing file"); fs.open('input.txt', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("File opened successfully!"); console.log("Going to read the file"); fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } console.log(bytes + " bytes read"); // Print only read bytes to avoid junk. if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } }); });
Cerrar un archivo:
fs.close(fd, callback)
Ejemplo:
var fs = require("fs"); var buf = new Buffer(1024); console.log("Going to open an existing file"); fs.open('input.txt', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("File opened successfully!"); console.log("Going to read the file"); fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) { if (err) { console.log(err); } // Print only read bytes to avoid junk. if(bytes > 0) { console.log(buf.slice(0, bytes).toString()); } // Close the opened file. fs.close(fd, function(err) { if (err) { console.log(err); } console.log("File closed successfully."); }); }); });
Comentarios
Publicar un comentario