Node.js reading textfiles in current directory and validate

167 Views Asked by At

This is actually the answer from my previous question.... the supplied code works for me. All I needed to do was retain a file counter (global) and in the read after validating add to array (global) which gets passed back to rendering process.

// Called from Render Process.

ipcMain.on('search-text-files', (event, arg) => {


  const fs = require('fs');
  const path = require('path');


  var txtArr = [];
  var fileName = '';
  var fCtr = 0;


  fs.readdir(__dirname+'/', function (err, items) {


    if (err) {
      throw err;
    }


    // loop through directory items

    for (var i=0; i<items.length; i++) {


      if (path.extname(items[i].toString() == '.txt') {


        fctr+=1;
        fileName = items[i].toString();         



        // read the file & validate


        fs.readfile(__dirname+'/'+fileName, (err, data) {


          if (err) {
            throw err;
          }

          var checkArr[];
          var curFile = '';

          checkArr = data.toString().split('\r');


          // access contents line by line

          for (var line=0; line<checkArr.length; line++) {


            ... perform some sort of validation

            ... assign curFile from contents



          }


          if (file is valid) {

            txtArr.push(curfile);


          }


          fCtr-=1;

          if (fCtr == 0) {

            event.sender.send('text-files-found', txtArr);

          }


        });


      }  


    } 


  });  


});
0

There are 0 best solutions below