当前位置: 首页 > 面试题库 >

读取Node.js中的文件

逑翰翮
2023-03-14
问题内容

我对在Node.js中读取文件感到很困惑。

fs.open('./start.html', 'r', function(err, fileToRead){
    if (!err){
        fs.readFile(fileToRead, {encoding: 'utf-8'}, function(err,data){
            if (!err){
            console.log('received data: ' + data);
            response.writeHead(200, {'Content-Type': 'text/html'});
            response.write(data);
            response.end();
            }else{
                console.log(err);
            }
        });
    }else{
        console.log(err);
    }
});

文件start.html与尝试打开并读取文件的文件位于同一目录中。

但是,在控制台中,我得到:

{[错误:ENOENT,打开’./start.html’]错误号:34,代码:’ENOENT’,路径:’./ start.html’}

有任何想法吗?


问题答案:

使用path.join(__dirname, '/start.html');

var fs = require('fs'),
    path = require('path'),    
    filePath = path.join(__dirname, 'start.html');

fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
    if (!err) {
        console.log('received data: ' + data);
        response.writeHead(200, {'Content-Type': 'text/html'});
        response.write(data);
        response.end();
    } else {
        console.log(err);
    }
});

多亏了dc5。



 类似资料:
  • 问题内容: 我需要在终端中传递一个文本文件,然后从中读取数据,我该怎么办? 如何从终端进入路径,如何在另一侧阅读? 问题答案: 您将要使用数组访问命令行参数以获取文件名,并使用FileSystem模块(fs)来读取文件。例如: 为了稍微分解一下,通常长度为2,第零个为“节点”解释器,第一个为节点当前正在运行的脚本,其后的项目在命令行中传递。从argv中提取文件名后,就可以使用文件系统函数读取文件并

  • 问题内容: 好的,所以我正在使用该模块将我的文件从angular上传到my : 这被发送到以下功能: 现在,我的目标是读取文件,然后将每一行添加到数据库中。 但是我不太确定我如何从我的服务器中读取文件并调试了服务器,找不到文件,但是正在从我的应用程序中调用api。 谁能向正确的方向推动我?:) 问题答案: 有几种不同的库可以解析Excel文件(.xlsx)。我将列出两个我觉得有趣并且值得研究的项目

  • 问题内容: 我正在尝试一次读取一行大文件。我在Quora上发现了一个与该主题有关的问题,但我缺少一些联系以使整个组件组合在一起。 我想弄清楚的一点是,如何一次从文件而不是如本示例中的STDIN读取一行。 我试过了: 但它不起作用。我知道,在紧急情况下,我可能会转而使用PHP之类的东西,但是我想弄清楚这一点。 我不认为其他答案会起作用,因为该文件比我在其上运行的具有内存的服务器大得多。 问题答案:

  • 问题内容: 我试图逐行读取文件,然后使用Node.js将其输出到另一个文件。 我的问题是由于Node.js的异步特性,行的顺序有时会混乱。 例如,我的输入文件就像:第1行第2行第3行 但是输出文件可能像:第1行第3行第2行 下面是我的代码。 任何想法将不胜感激,谢谢。 问题答案: 如果要编写同步代码,请仅使用同步功能: 对于异步方法,您可以编写类似

  • 问题内容: 我尝试使用具有96GB RAM的服务器上的 fs.readFileSync 将大文件( 〜6Gb )加载到内存中。 问题是它失败并显示以下错误消息 RangeError:尝试分配大于最大大小的缓冲区:0x3fffffff字节 不幸的是,我没有发现增加Buffer的可能性,这似乎是一个常数。 如何克服此问题并使用Node.js加载大文件? 谢谢! 问题答案: 来自一个快乐的常见问题解答:

  • 问题内容: 我需要找到一种最佳方法,即使用node.js实时读取正在写入文件的数据。麻烦的是,Node是一艘飞速前进的船,这使得很难找到解决问题的最佳方法。 我要做什么我 有一个Java进程正在执行某项操作,然后将其执行的结果写入文本文件。运行通常需要5分钟到5个小时的时间,整个时间都会写入数据,并且可以达到相当高的吞吐率(大约1000行/秒)。 我想实时读取此文件,然后使用节点聚合数据并将其写入