问题标签 [large-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
197790 浏览

git - 使用 Git 管理大型二进制文件

我正在寻找有关如何处理我的源代码(Web 应用程序)所依赖的大型二进制文件的意见。我们目前正在讨论几种替代方案:

  1. 手动复制二进制文件。
    • 临:不确定。
    • 反对:我强烈反对这一点,因为它增加了设置新站点/迁移旧站点时出错的可能性。建立另一个障碍。
  2. 使用Git管理它们。
    • 优点:消除了“忘记”复制重要文件的可能性
    • Contra:使存储库膨胀并降低管理代码库和签出、克隆等的灵活性,这将需要相当长的时间。
  3. 单独的存储库。
    • 优点:签出/克隆源代码的速度与以往一样快,并且图像已正确存档在自己的存储库中。
    • Contra:消除了在项目中拥有唯一的 Git 存储库的简单性。它肯定会介绍一些我没有想到的其他事情。

您对此有何经验/想法?

另外:有没有人有使用多个 Git 存储库并在一个项目中管理它们的经验?

这些文件是生成包含这些文件的 PDF 的程序的图像。这些文件不会经常更改(如几年),但它们与程序非常相关。没有这些文件,该程序将无法运行。

0 投票
5 回答
11079 浏览

php - 使用php压缩大文件

我有一个 php 表单,其中有一堆复选框,所有这些复选框都包含指向文件的链接。一旦用户点击他们想要的复选框(文件),它就会压缩文件并强制下载。

我有一个简单的 php zip 强制下载工作,但是当其中一个文件很大或者如果有人说选择整个列表进行压缩和下载时,我的服务器就会出错。

我知道我可以增加服务器大小,但是还有其他方法吗?

0 投票
4 回答
17118 浏览

vim - 如何使用 vim 滚动到一个大文件中?

我有一个包含数千行数千个字符的大文件。

我将光标移动到第 3000 个字符。

如果我使用PageDownor Ctrl+ D,文件将滚动,但光标将返回到第一个无空格字符。

有一个选项可以设置为在此类滚动后将光标保持在同一列中?

我在Window上使用 gvim ,在OpenVMSCygwin上使用vim 。

0 投票
3 回答
3199 浏览

java - Java处理大文件有哪些小技巧

我需要对 Java 中的大文件执行简单的 grep 和其他操作。我对 Java NIO 实用程序不太熟悉,但我假设这是我需要使用的。你有什么资源或有用的提示来读/写大文件。另外,我正在开发一个 SWT 应用程序,需要在 GUI 的文本区域内显示部分数据。

0 投票
4 回答
1482 浏览

c++ - expat 解析器:内存消耗

我正在使用 expat 解析器来解析大约 15 GB 的 XML 文件。问题是它会引发“Out of Memory”错误并且程序 aborts 。

我想知道是否有任何机构面临与 expat 解析器类似的问题,或者它是一个已知的错误并已在以后的版本中得到纠正?

0 投票
2 回答
4430 浏览

c++ - iostream 和大文件支持

我试图找到一个明确的答案,但不能,所以我希望有人可能知道。

我正在 Linux(32 位操作系统)上使用 GCC 4.x 开发 C++ 应用程序。此应用程序需要能够读取大小 > 2GB 的文件。

我真的很想使用 iostream 的东西与 FILE 指针,但我找不到大文件 #defines (_LARGEFILE_SOURCE, _LARGEFILE64_SOURCE, _FILE_OFFSET_BITS=64) 是否对 iostream 标头有任何影响。

我在 32 位系统上编译。任何指针都会有所帮助。

0 投票
4 回答
24562 浏览

linux - 编辑非常大的 sql 转储/文本文件(在 linux 上)

我必须导入一个大型 mysql 转储(最多 10G)。然而,已经使用带有索引定义的数据库结构预定义了 sql 转储。我想通过删除索引和表定义来加速数据库插入。

这意味着我必须删除/编辑10G文本文件的前几行。在 linux上执行此操作的最有效方法是什么?

需要将整个文件加载到 RAM 中的程序对我来说太过分了。

0 投票
8 回答
17948 浏览

java - Java中排序(内存映射?)文件中的二进制搜索

我正在努力将 Perl 程序移植到 Java,并在学习过程中学习 Java。原始程序的一个核心组件是一个Perl 模块,它使用二进制搜索在 +500 GB 排序的文本文件中进行字符串前缀查找(本质上,“寻找”到文件中间的字节偏移量,回溯到最近的换行符,比较带有搜索字符串的行前缀,“寻找”到该字节偏移量的一半/两倍,重复直到找到......)

我已经尝试了几种数据库解决方案,但发现在这种大小的数据集的绝对查找速度上没有什么比这更好的了。您知道任何现有的实现此类功能的 Java 库吗?如果做不到这一点,您能否指出一些在文本文件中进行随机访问读取的惯用示例代码?

或者,我不熟悉新的(?)Java I/O 库,但它是否可以选择对 500 GB 文本文件进行内存映射(我在 64 位机器上,有可用内存)并执行二进制搜索内存映射的字节数组?我很想听听您分享有关此问题和类似问题的任何经验。

0 投票
8 回答
10135 浏览

python - 用 Python 读取大文件

我有一个 384MB 的文本文件,有 5000 万行。每行包含 2 个空格分隔的整数:一个键和一个值。文件按关键字排序。我需要一种有效的方法来查找 Python 中大约 200 个键的列表的值。

我目前的方法包括在下面。这需要 30 秒。必须有更高效的 Python foo 才能将其降低到最多几秒钟的合理效率。

编码二进制搜索 + 寻找解决方案(感谢 kigurai!):

0 投票
5 回答
816 浏览

text - 使用大量替换对在文本文件中执行大量替换

鉴于:

  • 包含数百万行的文件a.txt(例如,每行一个句子)(2.6 GB!
  • b.txt包含 830k 行的文件[word1] [word2]

问题:

如何在巨大的文本文件中为每个 830k 元组(w1,w2)中的每一个执行最有效的 word1 替换 word2?

像 sed、perl、python 等天真的方法需要数周时间才能完成。是否有(可能基于并行化的)方法来执行替换负载?