【问题标题】:Is there an upper limit on .txt file size?.txt 文件大小有上限吗?
【发布时间】:2023-03-29 05:10:02
【问题描述】:

作为圣诞礼物,我用 Java 编写了一个小程序来计算素数。我的意图是让它通宵运行,计算下一个素数并将其写入 .txt 文件。早上我会终止该程序并将 .txt 文件带给我的朋友过圣诞节。

有什么我应该担心的吗?请记住,您正在与之交谈的是真正的初学者 Ziggy,而不是一些聪明的错误检查 ASM 人。

编辑更具体地说,由于我将在整个晚上计算素数时离开这个程序,我是否有可能遇到某种与内存相关的错误?比如,堆成一堆的堆,还是狗和猫睡在一起?

编辑更具体地说,当文件大小为 4GB 时,我可以输入一行代码来停止打印行吗?只是为了安全?

编辑:成功:整夜离开后,我得到的素数不超过 13 KB,我得到的最高值是 22947217,这就像数万个素数。成功!

【问题讨论】:

  • 明年你可以给你的朋友一盒斐波那契数;o)
  • 嘿。在某个地方,我仍然有一张 CD,其中包含我的第一个素数发生器的输出。一个未压缩的 256 兆字节的比特流,包含每个小于 MAXINT 的奇数的真/假。用了不到一天的时间完成。 :-)
  • 这真是一份华丽的圣诞礼物!

标签: memory text-files primes filesize


【解决方案1】:

仅关于您在磁盘上存储文本文件的位置的大小。

而且,如果你不是马上写,你的内存 + 虚拟内存。

【讨论】:

  • Serial Downvoter:您正在被 StackOverflow 跟踪。您的所有反对票将在某个时候无效。
【解决方案2】:

从技术上讲,除了文件系统对您的限制之外,没有任何限制。但是,记事本对于打开超大文件实在是太暴躁了。

【讨论】:

    【解决方案3】:

    我建议为您计算的每个素数发送一条 SMS 消息。你的朋友比一堆纸更想要那东西。此外,他可以更频繁地更新。

    【讨论】:

    • 是的,在前几亿素数之后,它应该开始变得合理了:)
    • 此外,SMS 的文本限制为 160 个字符。所以任何大于这个的素数都是不可能的。
    • 啊,但是你可以把它们分成几条消息:)
    【解决方案4】:

    如果没有记忆,FAT32 的文件大小限制为 4gig。

    【讨论】:

      【解决方案5】:

      您可能会考虑跟踪写入每个文件的字节数,并在达到一定字节数后切换到新文件。您还可以为您的文件提供查看器,以便您的朋友可以更轻松地看到他的礼物。 :)

      【讨论】:

        【解决方案6】:

        齐格--

        我喜欢这个:“不是一些聪明的错误检查 ASM 家伙。”你在描述我们所有人!

        有足够的磁盘空间并写掉!如前所述,确保用于打开文件的编辑器可以打开非常大的文件。

        节日快乐,真正的初学者 Ziggy。

        【讨论】:

          【解决方案7】:

          有很多限制,尽管它们都不是 .txt 文件所固有的:

          • Windows 9x 记事本无法打开大于 64KB 的文件。
          • Windows NT/2k/etc 的记事本没有限制,但往往会阻塞和锁定数兆字节的文件。您还需要记住,大多数文本编辑器都是愚蠢的,并且会尝试将整个文件读入 RAM。
          • 许多软件限制为 2GB 或 4GB 文件,具体取决于它们使用有符号整数还是无符号整数 - 因为有人已经提到过 FAT32 有罪。

          【讨论】:

            【解决方案8】:

            节省一些 CPU 周期并仅下载预先计算的 list of primes 怎么样?还是更“重要的想法”? :)

            【讨论】:

            • 绝对是最重要的想法:我的朋友,今天是圣诞节!
            • 我很高兴我不在你的圣诞清单上 :)
            【解决方案9】:

            为每个质数创建一个文件然后使用文件名来显示数字怎么样?

            【讨论】:

            • 你会很快达到目录项限制。
            • 这取决于文件系统。但这将是一个全新的问题。
            【解决方案10】:

            您使用的算法很可能很慢。随着素数变大,您的程序将花费越来越长的时间来计算单个素数。如果你让它在晚上运行,那么早上的文本文件不会很大。如果超过几兆,我会印象深刻。

            【讨论】:

            • 不错!实际上我只是给程序计时,看看我是否能猜到明天文本文件会有多大。大约半分钟后,我想,“哦,等等,尺寸的增加会越来越小:我没什么好担心的”。
            【解决方案11】:

            我怀疑当你的程序在一夜之间运行时,文件大小会成为一个问题,考虑到随着数字变大,找到素数需要更长的时间。只要确保清理干净,否则您可能会耗尽所有 RAM。

            回答您的问题:理论上,文件系统会限制文件大小。但是,很多文本编辑器在加载大文件(> 100 MB)时会崩溃(vim 不会),因为它们试图将其放入一个缓冲区中。

            总而言之,考虑将文件分成最弱链接(文本编辑器)可以处理的块。

            【讨论】:

              猜你喜欢
              • 2011-03-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-06-20
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多