Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用fs nodejs搜索文件内的内容_Javascript_Node.js_File_Fs - Fatal编程技术网

Javascript 使用fs nodejs搜索文件内的内容

Javascript 使用fs nodejs搜索文件内的内容,javascript,node.js,file,fs,Javascript,Node.js,File,Fs,目前,我正在尝试向我的服务器中发送一些post req(使用express制作),我的目标是当用户在字段中输入一些内容(如简单搜索)时,我在req.body中收到该内容,并在文件中进行检查,以查看匹配情况,如以下示例所示: CFH303 MUS7404- CFH304 MUS7404- CFH305 CSO7918- CFH306 GCN7127- CFH307 门7108- CFH308 门7022- CFH309 PSI7403- CFH310 GCN7123 这些粗体文本中的每一个都是我正

目前,我正在尝试向我的服务器中发送一些post req(使用express制作),我的目标是当用户在字段中输入一些内容(如简单搜索)时,我在req.body中收到该内容,并在文件中进行检查,以查看匹配情况,如以下示例所示:

CFH303 MUS7404- CFH304 MUS7404- CFH305 CSO7918- CFH306 GCN7127- CFH307 门7108- CFH308 门7022- CFH309 PSI7403- CFH310 GCN7123

这些粗体文本中的每一个都是我正在寻找的结果,输入将是Italic文本,我必须返回粗体文本。我的文件在同一行中没有超过一个字符串,它们是逐行的(为了更好地查看,我在堆栈中制作了hypens)

我发现了,但它在fs.createReadStream上。这是更好的方法吗?因为在我看来,一个接一个地接收它们毫无意义

我的路线,在这里我试图做一些数组,但我注意到\n推在一起

router.post('/getIdDisciplina', function(req, res, next){
  let idDisc = req.body.IdDisc;
  let fileSize = fs.statSync('arqex.txt').size;

  console.log(idDisc);
  fs.open('arqex.txt', 'r', function(err, fd){
    if (err) throw err;
    else{
      fs.readFile('arqex.txt', 'utf8', function(err, data){
        if (err) throw err;
        else{
          //let aux = []
          //aux.push(data)
          //console.log(aux);
        }
      });
      fs.close(fd, (err) =>{
        if (err) throw err;
      });
    }
  });
  res.render('index');
});

谢谢你的时间

读取文件并将文件数据存储在json中(在路由器外部使用全局变量)。路由器内部检查密钥并获得结果。我通常使用fs.readFileSync(path[,options]),很抱歉耽搁了,忙了几天,解决这个问题有点费劲,但最后我还是设法做到了,我不知道你是否愿意发布一个答案并详细说明一下,但我认为这是正确的答案。谢谢你,埃德温!