Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];

Вниз

Как создать большой файл   Найти похожие ветки 

 
texx   (2009-05-29 11:11) [0]

Здравствуйте!
Требуется очень быстро программно создавать файл любого размера (вплоть до гигабайтов), на NTFS диске (если можно и на FAT - хорошо, но и NTFS достаточно). Т.е. в программе спрашивается имя и путь файла, размер - и он создается практически мгновенно, независимо от размера (если позволяет свободное пространство). Содержание файла - абсолютно любое (мусор, нули, содержание других файлов - не важно). Сначала я думал сделать это, заполняя файл посимвольно, но большие файлы создаются очень долго.. Может быть, я не очень понимаю принципы и структуру хранения данных, но кажется на секторах свободного участка диска хранятся же данные от прошлых файлов, может быть, как-то к ним обозначить как раз этот новый файл, задав в таблице разделов от куда он будет начинаться и заканичаться, или еще как-то..

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


 
clickmaker ©   (2009-05-29 11:18) [1]

> очень быстро, с любыми байтами внтури

SetFilePointer, SetEndOfFile, CreateFileMapping
писать-то не обязательно посимвольно. Можно заготовить массив в памяти

PS. а правда: зачем это нужно? )


 
texx   (2009-05-29 12:22) [2]

Например, расшаривать в файлообменных сетях, где требуется шара какого-нибудь размера, а под рукой больше ничего нет - голый комп ^_^ Также, для экспериментов с файлами в дельфи (при изучении оного).. Ну мб еще для чего пригодится..

А что, с помощью указанного выше, можно быстро создать скажем файл 20 гб? :) Вот есть путь - "c:\123.txt", есть желаемый размер - 20Gb... как его заполнить 20 гигами байтов и какими проще? Можно кусочек кода, пример?


 
clickmaker ©   (2009-05-29 12:36) [3]

> как его заполнить 20 гигами байтов и какими проще?

CreateFile
SetFilePointer
SetEndOfFile
CreateFileMapping с флагом PAGE_READWRITE
MapViewOfFile с флагом FILE_MAP_WRITE вернет указатель на буфер, который можно забивать случайным образом
потом закрываем - UnmapViewOfFile, CloseHandle, CloseHandle


 
oldman ©   (2009-05-30 18:38) [4]


> в программе спрашивается имя и путь файла, размер - и он
> создается практически мгновенно


Мдя...


 
Медвежонок Пятачок ©   (2009-05-30 20:34) [5]

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

Ну создашь ты его скажем за секунду в компрессированной папке ntfs.
Файл будет допустим 30 гигов, а на диске займет 30 килобайт.

Но пиринговый-то клиент  хешировать его будет по чесному.
Все 30 гигабайт и далеко не мгновенно


 
Anatoly Podgoretsky ©   (2009-05-31 09:50) [6]

> Медвежонок Пятачок  (30.05.2009 20:34:05)  [5]

Ну и что. Зачем же еще тратить время на заполнение? Когда он и так будет переписан полностью.


 
Anatoly Podgoretsky ©   (2009-05-31 09:52) [7]


> Подскажите пожалуйста, как это реализовать, не спрашивая
> зачем это мне :) ?

А вот это зря, можем и морду набить и не спрашивай зачем это надо.


 
texx   (2009-06-01 05:30) [8]

To clickmaker ©   (29.05.09 12:36) [3] - Спасибо большое!

oldman ©   (30.05.09 18:38) [4] - че ты "мдя", вообще-то, для новичков форум. Мгновенно - преувеличение, имелось ввиду относительно быстро.

Anatoly Podgoretsky ©   (31.05.09 09:52) [7] - Понимаю :)))) Да я рассказал все подробно, мне не жалко :)


 
brother ©   (2009-06-01 05:41) [9]

> Но пиринговый-то клиент  хешировать его будет по чесному.
> Все 30 гигабайт и далеко не мгновенно

я вообще не понимаю, зачем пиринговой сети мусорный файл в 20 гигов?


 
Anatoly Podgoretsky ©   (2009-06-01 06:51) [10]

По принципу работы, иногда она долгая, поэтому надо зафиксировать размер, что бы не было так больно в конце.


 
Медвежонок Пятачок ©   (2009-06-01 14:08) [11]

я вообще не понимаю, зачем пиринговой сети мусорный файл в 20 гигов?

А чтобы тупо пустило на хаб.


 
Игорь Шевченко ©   (2009-06-01 14:52) [12]


> расшаривать в файлообменных сетях, где требуется шара какого-
> нибудь размера


Канделябром давно не получал ?


 
sniknik ©   (2009-06-01 15:14) [13]

> я вообще не понимаю, зачем пиринговой сети мусорный файл в 20 гигов?
сети незачем, но такие файлы пригодятся деятелям которые хотят качать ничего не отдавая взамен... есть локальные сети у которых пока не расшариш определенное количество качать не дают, а при большом количестве у тебя еще и приоритет.
один знакомый с работы в такой "состоит" и все возмущается гадам которые в расшарку весь диск с: с виндой и программ файлами ставят... объем бывает большой но полезного 0. этот видать даже на эти бессмысленные файлы жлобится... хочет вообще мусором "откупиться".


 
Медвежонок Пятачок ©   (2009-06-01 16:06) [14]

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

шарить для этого 30 честных гигов интересного публике контента?


 
sniknik ©   (2009-06-01 17:26) [15]

> заветные 90Кб
т.е. ты их всетаки получил, а из-за того, что не захотел расшаривать свое, кто то не получил свои "заветные 5Кб"/10/20 и т.д. и ищет до сих пор.

> шарить для этого 30 честных гигов интересного публике контента?
да, если в правилах того трекера с которого хочешь это прописано.
не хочешь следовать таким правилам ищи альтернативу, не пользуйся торентом, на крайний случай обойдись без искомого файла. тут же вместо попытка обмануть правила, желание взять на халяву ничего не давая взамен.
а трекеры так устроены, что если никто не будет отдавать то неоткого будет качать. т.что жлобство тут очень даже причем.


 
Медвежонок Пятачок ©   (2009-06-01 18:36) [16]

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


 
brother ©   (2009-06-02 07:31) [17]

> Канделябром давно не получал ?

вот и я о том же!


 
texx   (2009-06-02 07:50) [18]

Удалено модератором


 
brother ©   (2009-06-02 07:55) [19]

у тебя цель: обман, у нас это не приветствуется. Если не можешь сообразить сам - не программируй.
зы я не буду говорить свое мнение о тебе, ты в курсе да?


 
texx   (2009-06-02 08:09) [20]

Удалено модератором


 
texx   (2009-06-02 08:12) [21]

Судя по количеству ответов, вопрос я поднял интересный ;)
Кто-нибудь все-таки поможет с генератором файлов? :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.007 c
15-1243283409
Юрий
2009-05-26 00:30
2009.07.26
С днем рождения ! 26 мая 2009 вторник


11-1204051967
andreil
2008-02-26 21:52
2009.07.26
Как перебрать на форме все контролы?


15-1243202952
KilkennyCat
2009-05-25 02:09
2009.07.26
Небольшой эксперимент:


15-1243068393
dr_creigan
2009-05-23 12:46
2009.07.26
USB-порт


2-1243410156
Ольга
2009-05-27 11:42
2009.07.26
Не отображается иконка приложения на панеле задач





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский