Javascript 使用node.js读取文件
尝试使用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获取的错误是: 响应
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(“
”)