Javascript读取大文件失败

2023-12-14

JSON 文件大小为 6 GB。当用下面的代码读取时,

var fs = require('fs');
var contents = fs.readFileSync('large_file.txt').toString();

它有以下错误:

buffer.js:182
    throw err;
    ^

RangeError: "size" argument must not be larger than 2147483647
    at Function.Buffer.allocUnsafe (buffer.js:209:3)
    at tryCreateBuffer (fs.js:530:21)
    at Object.fs.readFileSync (fs.js:569:14)
    at Object.<anonymous> (/home/readHugeFile.js:4:19)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Function.Module.runMain (module.js:605:10)

有人可以帮忙吗?


最大尺寸为Buffer,这就是readFileSync()内部用于保存文件数据,大约2GB(来源:https://nodejs.org/api/buffer.html#buffer_buffer_kmaxlength).

您可能需要一个流式 JSON 解析器,例如JSONStream,处理您的文件:

const JSONStream = require('JSONStream');
const fs         = require('fs');

fs.createReadStream('large_file.json')
  .pipe(JSONStream.parse('*'))
  .on('data', entry => {
    console.log('entry', entry);
  });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript读取大文件失败 的相关文章

随机推荐

  • Scala 这种别名和自我类型

    之间有什么关系吗this aliasing and self type Is this aliasing的一个特例self type 在scala 2nd P776编程中 作者说 抽象类 Parser T 扩展 p gt 你在第 29 4
  • PHP 闭包对象是否符合垃圾回收条件

    我想知道是否有人知道 PHP 的匿名函数是否符合垃圾回收条件 我知道用创建的函数create function没有被垃圾收集 但我找不到任何关于使用创建的内容的参考function 语法 内部表示为 Closure 对象 PHP 垃圾收集器
  • Android Studio:使用 Mac (OSX) 和 Windows 的同一项目的 SDK 位置发生变化

    我正在开发一个 Android Studio 项目 我的团队成员使用 Windows 我使用 OSX 问题是 当我从 git 提取新代码然后打开项目时 我会根据 Mac 的 SDK 位置得到各种更改 First a notice when
  • Android NDK 和更新的 API 支持

    我正在开发一个大量使用 NDK 的 Android 应用程序 在 Java 方面 我们的目标是 SDK 19 最小 SDK 为 16 有没有办法在 NDK 方面做类似的事情 现在我们的Application mk文件有APP PLATFOR
  • Android 如何将标题布局重用为 ListView 中的空视图

    在我的项目的整个生命周期中 我一直在努力解决这个问题 我的项目中有很多列表 其中大多数都有标题 我一直在制作一个单独的布局文件并使用 addHeaderView 将其添加到列表中 问题是当数据 ArrayList 在我的例子中 为空时 标题
  • Java 有没有办法将整数转换为其序数名称?

    我想取一个整数并得到它的序数 即 1 gt First 2 gt Second 3 gt Third 如果你同意1st 2nd 3rd等等 这里有一些简单的代码可以正确处理任何整数 public static String ordinal
  • Msbuild 和 SVN 更新

    我想编写一个简单的任务 它将更新并将夜间构建的源代码提交到 SVN 我在 msbuildtasks tigris org 页面上 下载了 dll 但我不知道如何编写它 您能提供一些基本样本吗 下面是一个示例 取自 MSBuild 社区任务构
  • c# 在运行时创建未知的泛型类型

    因此 我有一个泛型类 它可能需要在其自己的方法内使用不同类型的泛型创建自身的实例 其类型是通过反射获得的 这很重要 因为这个存储库映射T到数据库表 这是我正在写的 ORMish 并且如果代表的类T有一个代表另一个表的集合 我需要能够实例化它
  • 如何关闭所有弹出窗口?

    我有多个 444 popups打开我的map 我试过这个 leaflet popup close button each function index leaflet popup close button index click 但这样一来
  • 如何在Python字典中为一个键拥有多个值?

    我遇到的情况是 同一个键可能有不同的与之关联的字符串 例如flow 和 Wolf 都有相同的字符 如果我对它们进行排序并将它们用作字典中的键 我想将原始字符串作为值 我在 python 字典中尝试过 d d flow flow d flow
  • 为什么 hibernate 在 session.get 方法中强制序列化

    我看到 hibernate 的 session get 和 load 方法只接受可序列化的对象 根据我对hibernate的理解 它会生成一条SQL语句并将其发送到DBMS 它永远不需要通过网络发送 java 对象 为什么 hibernat
  • 如何像 iOS 7 iPad App Store 那样同时翻转和放大 UIView?

    当您点击应用程序图标时 iPad iOS 7 App Store 有一个非常酷的动画 当图标较小时 来自特色列表 而不是搜索结果 这是它的实际操作图片 基本上 图标会同时翻转并扩大尺寸 后面有渐变 内容视图更小 到目前为止 我有一个自定义的
  • 如何在运行时更改JTabbedPane的背景颜色?

    我发现了很多改变背景颜色的例子JTabbedPane使用任一setBackgroundAt and UIManager put JTabbedPane 但是 我想创建一个onclick复选框上的事件 当您选择它时 背景颜色将更改为绿色 当您
  • Polars 将 array[string] 列聚合到 set[str] 中

    我有极地数据框 df pl DataFrame col1 aaa aaa bbb ccc ccc ddd ddd ddd ddd ddd col2 a a a a col3 x x y y 我想将 col2 col3 分组并将 col1 聚
  • Javascript从亚马逊s3存储桶下载文件?

    我试图从 Amazon S3 上的存储桶下载文件 我想知道是否可以编写一个 JavaScript 来从存储桶下载这样的文件 我在谷歌上搜索 但找不到任何可以帮助我做到这一点的资源 需要考虑的一些步骤是 对 Amazon S3 进行身份验证
  • 如何从命令行检查特定的 Subversion 修订版?

    我想签出文件夹的特定版本颠覆使用命令行 我没有看到用于指定修订号的选项TortoiseProc exe TortoiseProc exe command checkout
  • 如何更改 Android 中的代理设置(尤其是 Chrome)[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 您能帮我一下吗 是否可以在 Android 中设置代理设置 尤其是在 Chrome 中 我在测试期间必须更改 Android 上的 IP 或者有什么软件可以帮助我解决这个问题 找到了
  • 如何连接mysql和Basex?

    我有一个使用 Mysql 作为数据库的应用程序 它使用了大量的 XML HTML 我想在 BaseX 中处理 mysql 数据并通过它更新数据库 有没有简单的方法连接数据库 我检查了http docs basex org wiki SQL但
  • HTTP.sys 请求队列和 IIS 应用程序池之间的关系

    我从中读到了这篇文章 HTTP sys 为每个工作进程维护一个请求队列 它将 HTTP 请求发送到工作进程的请求队列 该工作进程为所请求的应用程序所在的应用程序池提供服务 对于每个应用程序 HTTP sys 维护具有一个条目的 URI 命名
  • Javascript读取大文件失败

    JSON 文件大小为 6 GB 当用下面的代码读取时 var fs require fs var contents fs readFileSync large file txt toString 它有以下错误 buffer js 182 t