Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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 使用node.js读取文件_Javascript_Node.js - Fatal编程技术网

Javascript 使用node.js读取文件

Javascript 使用node.js读取文件,javascript,node.js,Javascript,Node.js,尝试使用node.js读取文件 var fs = require('fs'); fs.readFile("details.txt",'utf8',function(err,data) { if(err) { return console.log(err); } response.write(data); }); 在同一个目录中有一个包含一些文本的文件 im获取的错误是: 响应

尝试使用node.js读取文件

    var fs = require('fs');
    fs.readFile("details.txt",'utf8',function(err,data)
    {
        if(err)
        {
            return console.log(err);
        }
        response.write(data);
    });
在同一个目录中有一个包含一些文本的文件

im获取的错误是:

响应。写入(数据); ^
引用错误:未定义数据

请尝试使用“details.txt”(即“/etc/hosts”)的完整路径。然后,将其发送到console.log以确认其工作正常

   var fs = require('fs');
    fs.readFile("details.txt",'utf8',function(err,data)
    {
        if(err)
        {
            return console.log(err);
        }
        console.log(data);
    });
错误是

response.write(data)

上面的img显示了我的文件顺序。注意:我使用的是IntelliJ IDEA。您必须在系统中找到文件“details.txt”

//Instead of using hard coded path, use: the following code to get the path in Node.js
//var path = require('path');
//console.log(path.join(__dirname, '../details.txt'));

//require file system
var fs = require('fs');

//read file
fs.readFile("details.txt",'utf8',function(err,data){

  //if error, log error and return
  if(err) { return console.error('Error: ' + err); }


  //check if there is data in the file
  if(data) {

     //EDITED to include line break
    //write response
    //response.write('<div style="color:green">' + data + '</div>');

    //write response with <br>
    response.write('<div style="color:green">' + data.split('\n').join('<br>') + '</div>');

    //end the response
    response.end();


  //if no data on the file, do the following
  }else{
    //error variable
    var error = "Error: file is empty: " + data.length + " bytes.";

    //log error
    // console.error(error);

    //write response
    response.write('<div style="color:red">' + error + '</div>');

    //end response
    response.end();
  }
});
//不要使用硬编码路径,而是使用:以下代码获取Node.js中的路径
//var path=require('path');
//log(path.join(_dirname,../details.txt');
//需要文件系统
var fs=需要('fs');
//读取文件
fs.readFile(“details.txt”,“utf8”,函数(err,data){
//如果出现错误,则记录错误并返回
if(err){return console.error('error:'+err);}
//检查文件中是否有数据
如果(数据){
//编辑以包括换行符
//写响应
//响应。写入(“”+数据+“”);
//用
response.write(“”+data.split(“\n”).join(“
”)+“”); //结束回应 response.end(); //如果文件中没有数据,请执行以下操作 }否则{ //误差变量 var error=“error:文件为空:“+data.length+”字节。”; //日志错误 //控制台错误(error); //写响应 响应。写入(“”+错误+“”); //末端响应 response.end(); } });
您是否尝试过使用“/details.txt”作为路径?@mcgraphix-为什么会有不同?我想不出任何原因为什么
err
会为false,但是
数据
未定义../指的是工作目录。Juat试图确保它在正确的地方。是的。仍然给出相同的错误。它在主目录中,所有其他文件都是server.js,router.jsI可以写入该文件,但只有当我读取它时,才会给出该错误。是的!!!成功了。非常感谢!!!!有没有逐行检索输出的技巧?目前,它在一行中显示所有详细信息。@CJM您可以改用readLine函数。好的,我已经编辑了将数据写入的代码。data.split(“\n”).join(“
”)