Nosotros podemos usar NodeJS para buscar y devolver informacion sobre archivos y carpetas
En este ejercicio vamos a escribir un programa en Node JS que nos permita buscar archivos de formato JSON.
Pero antes de meternos de lleno en el ejercicio debemos preparar el entorno de trabajo, en este caso vamos a usar el servidor Azure de Microsoft para hacerlo, luego clonamos el proyecto desde github y despues de eso, podemos empezar!!!
Ejercicio #1
Buscar los archivos de formato JSON
1. Primero vamos al archivo Index.js y incluimos el modulo
const fs = require("fs").promises;
2. Creamos un metodo llamado "main": Este metodo va a ser el punto de partida de nuestro codigo, en la ultima linea sera donde estamos llamandi al metodo main:
const fs = require("fs").promises;
async function main() {}
main();
3. Ahora vamos a escribir un metodo para encontrar los archivos Sales.Json
4. Aqui vamos a crear un metodo que va a tomar como parametro, folderNames
async function findSalesFiles(folderName) {
// FIND SALES FILES
}
6. Vamos a a帽adir un array, el cual va a contener todas las rutas, de todos los archivos de ventas, osea, los archivos Json
async function findSalesFiles(folderName) {
// this array will hold sales files as they are found
let salesFiles = [];
// FIND SALES FILES
}
7. Vamos a crear otro metodo llamada findFiles, uqe tambien toma FOlderNAme como parametro
async function findSalesFiles(folderName) {
// this array will hold sales files as they are found
let salesFiles = [];
async function findFiles(folderName) {
// FIND SALES FILES
}
}
8.
9. Vamos a agregar un bloque para recorrer cada elemento devuelto por el readdingsync
async function findSalesFiles(folderName) {
// this array will hold sales files as they are found
let salesFiles = [];
async function findFiles(folderName) {
// read all the items in the current folder
const items = await fs.readdir(folderName, { withFileTypes: true });
// iterate over each found item
for (item of items) {
// FIND SALES FILES
}
}
}
10. Vamos a agregar un IF para determinar si el archivo es un item o un directorio
async function findSalesFiles(folderName) {
// this array will hold sales files as they are found
let salesFiles = [];
async function findFiles(folderName) {
// read all the items in the current folder
const items = await fs.readdir(folderName, { withFileTypes: true });
// iterate over each found item
for (item of items) {
if (item.isDirectory()) {
// FIND SALES FILES IN THIS FOLDER
} else {
// FIND SALES FILES
}
}
}
}
Si el elemento es un directorio,
findFiles
vuelva a llamar al m茅todo, pasando la ruta al elemento. Si no es as铆, agregue un cheque para asegurarse de que el nombre del art铆culo coincida con sales.json .async function findSalesFiles(folderName) {
// this array will hold sales files as they are found
let salesFiles = [];
async function findFiles(folderName) {
// read all the items in the current folder
const items = await fs.readdir(folderName, { withFileTypes: true });
// iterate over each found item
for (item of items) {
if (item.isDirectory()) {
// search this directory for files (this is recursion!)
await findFiles(`${folderName}/${item.name}`);
} else {
// Make sure the discovered file is a sales.json file
if (item.name === "sales.json") {
// store the file path in the salesFiles array
salesFiles.push(`${folderName}/${item.name}`);
}
}
}
}
await findFiles(folderName);
return salesFiles;
}
10. Fin
Salio el ejercicio!!!
No hay comentarios:
Publicar un comentario