Страница 1 из 1
Создание массива файлов по шаблону (hex-счётчик)
Добавлено: Чт мар 08, 2012 15:34
Mellomann
Задача - создать файлы с именами по hex-счётчику в виде
00000000, 00000001, 00000002, ..., FFFFFFFЕ, FFFFFFFF
с содержимым, соответствующим их имени, т.е, с байтами
00000000, 00000001, 00000002, ..., FFFFFFFЕ, FFFFFFFF
в них.
Руками набивать 4 млн файлов как-то не охота, тем более, что это должно легко автоматизироваться.
Цель - последующий небольшой тест crc32 хеширования с этими файлами. (не суть важно, к задаче отношения не имеет)
Какие будут предложения?
Добавлено: Чт мар 08, 2012 17:07
MVV
Там 4 миллиарда файлов, а не миллиона. Думаю, папка с таким числом файлов будет бесконечно тормозить...
Код: Выделить всё
MIME-Version: 1.0
Content-Type: application/octet-stream; name="make4G.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="make4G.7z"
N3q8ryccAAPR00JRCgIAAAAAAABfAAAAAAAAAAA1SHkAJpaOcAAX9+wFu+r0/5QBL0TuTr0Jkm3d
gTnz3Weoe6NfFfEa/Y28zsBB2HEdPWzlugty+IIM4hglhy/h80OeyYw5CMe7jUK77wLPQMC9wwpT
+oLa6JFYpM8Y28DVAdEHHSmRUA8npfAuyfKL9SPo8DVhwt1Ll1oMgXAgHRoSeJ3JnPu/T5YCumxV
s/eSHIGsl9bvvVxNegguyxceRlvVsRsTyUW4JU04Se9FZOZqPerhGZyfyPY0gwF4c1kP7mX0QLd9
Xsow82TDS4AhA2OFaPyqBbi9skhwgU1ix+36sHniqwptv3RWxtKRcPIwEVyRx5KTVzLB8u8vyQIr
xCg+pvG86oTPVWbyvNfTGDjOuz4ILMSYe+yKOhcfES8OeBNEegJTLYRSYksK2qxO067KPdhFI9ue
ZSrXi/7qpFHK3SogO9Zbk5Z8PReWHRzm9cHDRpoAestu1QcMLndSDoufnSnZpMsY/ZOfDB2RTdmj
B+Chk+KwoKOUASHBkCUEnbjGCJIkCdlS8ZM0FImwYtaEbsF6PvtRTTmmFuF/1rIR6PVKeIcBnfHD
DkuyAv7YYVuaV8fcz/LsOropHeD4G0b8lcZp98WlFmughO2DItgrh2ut9tPk9HA5V4hVMtl7UwOk
XnSfSeVSQCR5A6lrIem5GHTeirHVle+ciiGvWOQ7zChvKEcUytvzhAABBAYAAQmCCgAHCwEAAiMD
AQEFXQAAAQAEAwMBAwEADIQAhAAACAoB20/CVQAABQERFwBtAGEAawBlADQARwAuAGUAeABlAAAA
FAoBAJerqoMt/cwBFQYBACAIAAAAAA==
Добавлено: Чт мар 08, 2012 17:32
Mellomann
Спасибо, опробуем.
Добавлено спустя 9 минут:
Аххх... Малость я, конечно, не ожидал ТАКОГО количества файлов...
Эт ж нужен диск на 2 ТБ, и то, если кластер 512...
Добавлено: Вс мар 11, 2012 07:42
Моторокер
Windows должна хранить такие маленькие файлы прямо в файловой системе.
в файловой системе NTFS маленькие файлы (размером менее 1Кб) хранятся внутри таблицы размещения файлов (MFT)
Думаю, задача поставлена неверно. Может всё-таки создавать эти файлы перед самим "небольшим тестом"? Или вообще не создавать, а решать по другому.
Добавлено: Вс мар 11, 2012 16:14
Mellomann
Моторокер
Суть - создать оч много файлов - тот самый максимум, что выдерживает crc32 (2^32) - и прогнать его на проверку одинаковости хешей на каждом последующем файле.
Понятно, что чтобы что-то прохешировать, его нужно создать.
Именно на создание файлов и нужно было решение, которое благополучно делает предоставленая утилита.
Сейчас дело - за малым - найти время всё это сделать.
Добавлено: Вс мар 11, 2012 16:29
CaptainFlint
Mellomann
IMHO, лучше не по файлу создавать, а в один текстовик (или бинарник) вписывать эти хэши. Если бинарный, то в 16 гигабайт файл получается, индексом будет являться исходный текст, переведённый в число и домноженный на 4 (размер хэша в байтах), содержимым — вычисленный хэш.
Добавлено: Чт мар 15, 2012 02:08
Моторокер
Мне кажется, или цель всё-таки другая?
Нужно проверить какой-то массив файлов на наличие файлов с одинаковым хэшем?
Добавлено: Чт мар 15, 2012 22:10
Mellomann
Моторокер
В перспективе - нужно найти/сделать такие файлы, хеш которых будет идентичен абсолютно другоим файлам.
Добавлено: Чт мар 15, 2012 22:35
Tol!k
Добавлено: Чт мар 15, 2012 23:02
Mellomann
За
статью выражается благодарность, задумка изначальная была подобная (хотя и немного другая).