首页 > 解决方案 > Node.js:如何仅读取 txt 文件的最后一个非空行?

问题描述

假设我有一个名为 example.exe 的文本文件,如下所示:

第 1
行内容 第 2
行内容(此处有更多行)
第 N 行(最后一行)内容
(空行 \n)

我希望能够仅读取文件的最后一行,因此在本例中为“Line N (Last Line) Stuff”并将其存储在字符串中。另外,我知道您可以逐行阅读,但我想减少运行时间,并且不会随着文本文件变大而发生内存不足错误。有人想帮我解决这个问题吗?我不希望使用 require('fs') 完成此操作。

标签: javascriptnode.jsfilesystemsread-write

解决方案


假设您将内容存储在一个变量中content,您可以按行拆分内容......

var lines = content.split("\n")

...并检查最后一行是否为空...

var lastLine = lines[lines.length-1].length ? lines[lines.length-1] : lines[lines.length-2]

推荐阅读