问题标签 [filesplitting]

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 投票
0 回答
227 浏览

gruntjs - 使用 Grunt 将连接的、缩小的、丑陋的 JavaScript 拆分为多个文件

现在,我有一个繁重的任务来构建我的 JS 应用程序。它使用 useminPrepare/usemin 来控制 concat、minify 和 uglify 过程,并将结果作为单个输出文件输出。这对我们的应用程序非常有用。

现在我们正在尝试对应用程序进行一些性能调整,并希望将连接、缩小或丑化的 JavaScript 拆分为 N 个单独的文件。N 将是所有文件同时通过网络尽可能快地从 CDN 飞到浏览器的最佳大小。

有没有人尝试过将丑陋的 JavaScript 拆分成多个文件?这样做的最佳方法是什么?

0 投票
1 回答
231 浏览

filesplitting - 按位将文件分成几部分

好的,所以这是一个独特的问题。

我们(每天)从一家公司获取文件。这些文件从他们的服务器下载到我们的 (SFTP)。我们处理的公司与创建文件(并减小文件大小)的第三方提供商打交道,以加快下载速度并减少服务器上的文件大小。

我们每天从服务器下载 9 个文件,3 组,每组 3 个文件,
每组文件由 2 个 XML 文件和一个“图像”文件组成。
这些 XML 文件之一为我们提供了有关“图像”文件的信息。我们需要的 XML 文件中的信息:

  • 偏移量:告诉我们一段数据从哪里开始
  • 长度:与偏移量一起使用,给我们该部分的结尾
  • count:给我们文件中保存的元素数量


在我们根据文件中每个图像的偏移量和长度将文件分割成片段之前 ,“图像”文件本身是不可用的。这些图像基本上是串联在一起的。我们需要提取这些图像才能查看它们。

偏移量、长度和计数值的示例如下:

偏移量:0
长度:2670

偏移量:2670
长度:2670

偏移量:5340
长度:2670

偏移量:8010
长度:2670

计数:4

这意味着有 4 ( count) 个项目。第一个计数项目开始于offset[0]并且是length[0]长度。第二项开始于offset[1]长度length[1],等等。

我需要在这些点和这些点精确地分割图像,没有错误的余地。第三方提供商不会向我们提供代码,我们将自己解决这个问题。如果不拆分文件,图像文件是不可读的,并且在此之前基本上是无用的。


我的问题:有没有人有办法以特定字节拆分文件?

PS我还没有任何代码。我什至不知道从哪里开始。我对编码并不陌生,但我从未按字节进行文件拆分。

我不在乎它使用哪种语言。我只需要让它工作。


编辑
操作系统是 Windows

0 投票
3 回答
2592 浏览

git - 如何在 Git 中拆分文件?

我有源文件A,它越来越长并且包含两个大类。我想将其拆分为文件A,并B保留历史记录和“责备”数据。

在 Subversion 中,这很容易:执行svn copy A B,删除A应该只在其中的行,B反之亦然,然后提交。但是项目的所有者很遗憾地想要切换到 Git,这是我不知道该怎么做的工作流程之一。

当你这样做时svn log B,你会得到B's 分裂后的历史,加上A' 分裂前的历史。此外,svn blame B会将拆分前的更改归因于 历史中的正确作者A,而不是将其归因于进行拆分的任何人。

0 投票
0 回答
458 浏览

java - 如何高效处理巨大的 JSON 文件,需要一些思路

这是一个关于思路的问题,所以请不要让我使用第三方库来处理这个问题。

最近,我去面试了,有这样一个问题:

有一个巨大的 JSON 文件,结构类似于数据库:

并且要求是:

  1. 通过给定的子节点名称找到一些特殊的子节点并更新它的字段值,然后将其保存到新的 JSON 文件中。
    1. 计算给定字段的名称和值的数量。

当它是一个正常大小的 JSON 文件时,我编写了一个实用程序类来从本地加载 JSON 文件并将其解析为 JSON 对象。然后我写了两个方法来处理这两个需求:

但是面试官让我思考一下JSON文件非常庞大的情况,然后修改我的代码以及如何让它更有效。

我的想法是先写一个工具来分割 JSON 文件。因为最后我需要使用 JSON 对象来调用前两个方法,所以在拆分巨大的 JSON 文件之前,我知道这两个方法的参数:一个 Map(保存的目标子节点的条件/或字段目标字段/值),nodeName (子节点名称)

因此,当我加载 JSON 文件时,我将 inputstream String 与 taget nodeName 进行比较,然后开始计算子节点的对象数,如果规则为 100,那么当它有 100 个对象时,我将子节点拆分为一个新的较小的 JSON 文件并将其从源 JSON 文件中删除。

如下所示:

之后,我可以使用多线程加载之前创建的较小的 JSON 文件,并调用这两种方法来处理 JSON 对象。

这是一个思路问题,所以请不要告诉我你可以使用第三方库来处理这个问题。

那么如果我的虽然可行呢?或者你们还有什么其他的想法,请分享一下。

谢谢。

0 投票
1 回答
3638 浏览

java - 在android中拆分音频文件

我有一个应用程序,可以MediaRecorder from MIC在有电话时使用记录音频,我需要能够在通话结束时保存此录音的最后 x 分钟 - 例如拆分创建的录音的音频文件。

我搜索了这个,我能找到的只是如何.wav通过直接从文件中删除字节来拆分文件。但是我将文件保存在: MediaRecorder.OutputFormat.THREE_GPP使用编码: MediaRecorder.OutputFormat.AMR_NB并且我没有找到拆分此类文件的方法。

这是我的代码:

如何THREE_GPP按时间拆分并将我需要的部分保存在单独的文件中?

另外,我对直接操作字节和文件一无所知,所以请详细说明它是否是您解决它的方式。

提前致谢

0 投票
0 回答
80 浏览

vb.net - 如何提高我的简单文件拆分程序的效率

我有一个简单的程序,它读取一个 .txt 文件,然后将其拆分为多个“pMaxRows”行数的文件。这些 .txt 文件很大——有些接近 25Gb。现在它的运行速度还不够快,我不喜欢,我觉得应该有一种方法可以通过一次读取/写入多行来提高效率,但是我对 vb.net streamreader/streamwriter 不是很有经验。

代码如下:

有人有什么建议吗?如果之前已经回答了这个问题,即使将我引导到正确的地方,我也将不胜感激

0 投票
2 回答
91 浏览

perl - Perl - 在写入过程中更改文件名

我正在尝试获取我在 Perl 中创建的非常大的 txt 文件(超过一百万行)并通过 Perl 中的不同语句运行它,该语句基本上看起来像这样(注意以下是 shell)

尝试将其缩小到每个文件 5k 行,并且每次递增(filename1.txt、filename2.txt、filename3.txt 等)
这在 shell 中似乎不起作用,可能是由于输入文件的大小,对于我的一生,我想不出如何在循环中间更改我正在写入的文件..

0 投票
1 回答
1583 浏览

json - 在 Bash 或 Fish shell 中使用 JQ 拆分/分块 JSON 文件?

我一直在使用精彩的JQ 库来解析和提取 JSON 数据以方便重新导入。我能够很容易地提取一个范围,但不确定如何在脚本中循环并检测文件的结尾,最好是在 bash 或 fish shell 脚本中。

给定一个包含在“结果”字典中的 JSON 文件,我如何检测文件的结尾?

从测试中,我可以看到我会得到一个嵌套在我想要的结构中的空数组,但是你怎么能检测到文件结束的条件呢?:

谢谢!

0 投票
2 回答
454 浏览

java - 使用 Java 拆分较大的 XML 文件(保留父级的属性和兄弟级)

考虑 XML 文件 Report.xml :

我只想将上面的 XML 文件拆分为:

ReportSplit1.xml

ReportSplit2.xml

即保留父节点的属性,保留兄弟节点。仅应在统计节点中的子节点上进行拆分。

按照链接中给出的解决方法将代码段更改为

实现的 XML 文件拆分为:

ReportSplit1.xml

ReportSplit2.xml

谁能提供一种解决方法来实现所需的 XML 文件拆分?

0 投票
1 回答
76 浏览

linux - 如何根据csv文件第一列中的通配符匹配拆分文件

我有一个 csv 文件

我希望将此文件拆分为两个文件,其中一个文件的第一列值的所有值都应以“ab”开头,并在另一个文件中休息。我的最终输出应该是

file1.csv 为

file2.csv 为

及时的帮助将不胜感激。