Есть ли верхний предел.размер текстового файла?

в качестве рождественского подарка я написал небольшую программу на Java для вычисления простых чисел. Я намеревался оставить его включенным на всю ночь, рассчитав следующий Прайм и записав его на "а".txt-файл. Утром я выключу программу и возьму ее .txt файл моему другу на Рождество.

есть ли что-нибудь, о чем я должен беспокоиться? Имейте в виду, что это настоящий новичок Зигги, с которым вы разговариваете, а не какой-то умный парень с проверкой ошибок ASM.

редактировать более конкретно, так как Я оставлю эту программу на всю ночь, считая простые числа, есть ли шанс, что я столкнусь с какой-то ошибкой, связанной с памятью? Например, кучи мусора или собаки и кошки, спящие вместе?

EDIT еще более конкретно, есть ли строка кода, которую я мог бы поместить, чтобы остановить печать строк, когда размер файла составляет 4 ГБ? Просто на всякий случай?

EDIT: success: после того, как я оставил его на всю ночь, я получил не более 13 КБ простых чисел, самый высокий я получил 22947217, что похоже на десятки тысяч простых чисел. Успех!

11 ответов


скорее всего, вы используете медленный алгоритм. По мере увеличения простых чисел ваша программа будет занимать все больше и больше времени для вычисления одного простого числа. Если вы позволите ему работать в течение ночи, текстовый файл не будет очень большим утром. Я был бы впечатлен, если бы это произошло из-за пары мегов.


Я бы рекомендовал отправить SMS-сообщение для каждого простого вы вычисляете. Твоему другу это понравится гораздо больше, чем пачка бумаги. Плюс он может обновляться гораздо чаще.


существует множество ограничений, хотя ни один из них не является внутренним .txt файлы:

  • Блокнот Windows 9x не откроет файл > 64KB.
  • Блокнот Windows NT/2k/etc не имеет предела, но имеет тенденцию душить и блокировать многомегабайтные файлы. Вам также нужно помнить, что большинство текстовых редакторов тупы и пытаются прочитать весь файл в ОЗУ.
  • много программного обеспечения ограничено 2 ГБ или 4 ГБ файлов в зависимости от того, используют ли они подписанные или неподписанные ints - как кто-то уже упоминавшийся FAT32 виновен в этом.

технически, нет никаких ограничений, кроме тех, которые файловая система помещает на вас. Тем не менее, Блокнот действительно капризничает об открытии непристойно больших файлов.


вы можете отслеживать количество байтов, которые вы пишете в каждый файл, и переключаться на Новый после некоторого количества байтов. Вы также можете предоставить средство просмотра для ваших файлов, чтобы ваш друг мог видеть свой подарок более легко. :)


Если память служит, FAT32 имеет предельный размер файла 4gig.


Зигги--

Мне нравится это: "не какой-то умный парень проверки ошибок ASM.- Ты описываешь всех нас!

иметь много места на диске и записывать! Как уже упоминалось ранее, убедитесь, что редактор, используемый для открытия файла, может открывать очень большие файлы.

Счастливых праздников, истинный новичок Зигги.


только относительно размера места, где вы храните текстовый файл на диске.

и, если вы не пишете все это сразу, ваша память + виртуальная память.


Как насчет сохранения некоторых циклов процессора и просто загрузки предварительно вычисленного список простых чисел? Или это больше "отмазка"? :)


Как насчет создания одного файла для каждого простого числа, а затем использовать имя файла для отображения числа?


Как-то я сомневаюсь, что при запуске вашей программы в одночасье размер файла будет проблемой, учитывая, что поиск простых чисел займет больше времени, поскольку числа становятся больше. Просто убедитесь, что вы убираете, или вы можете съесть всю свою ОЗУ.

чтобы ответить на ваш вопрос: теоретически, файловая система ограничивает размер файла. Однако при загрузке больших файлов (>100 МБ) происходит сбой многих текстовых редакторов (vim-нет), поскольку они пытаются поместить его в один буфер.

подводя итог, рассмотрите возможность разделения файлов на куски, которые могут обрабатывать самые слабые ссылки (текстовые редакторы).