s谩bado, 8 de agosto de 2020

Ejercicio de trabajo con el File Sistem

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, findFilesvuelva 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