Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
21 / 24 / 1
Регистрация: 23.04.2012
Сообщений: 628

Многократная перезапись файла случайным мусором

22.03.2014, 16:15. Показов 2340. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача, допустим 10 раз перезаписать файл случайными данными. При этом желательно, чтобы генерация происходила из всего множества символом...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2014, 16:15
Ответы с готовыми решениями:

Создание файла. Перезапись информации с одного файла в другой. Ошибки
Здравствуйте! Помогите пожалуйста. Поставлена задача: создать файл из 55 целых чисел, используя генератор рандомных чисел. Переписать все...

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

С++ Перезапись файла
Всем привет. Работаю с командной строкой. Не понимаю как сделать при перезаписи файла, чтобы пользователь мог ввести в CMD выбор Y/N....

25
21 / 24 / 1
Регистрация: 23.04.2012
Сообщений: 628
22.03.2014, 23:14  [ТС]
Студворк — интернет-сервис помощи студентам
Кидайте скорость не так важна...
0
Почетный модератор
 Аватар для Памирыч
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
22.03.2014, 23:20
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        Dim R As New Random
        Dim fName As String = "C:\2.mdb"
        Dim BufSize As Long = New IO.FileInfo(fName).Length
        FileOpen(1, fName, OpenMode.Binary)
        ProgressBar1.Maximum = 100
        ProgressBar1.Value = 0
        Dim TmpBuf(BufSize / 100) As Byte
        For BC As Integer = 0 To TmpBuf.Length - 1
            TmpBuf(BC) = R.Next(0, 256)
        Next
        For I As Long = 0 To BufSize - 1 Step BufSize / 100
            ProgressBar1.Value += 1
            Application.DoEvents()
            FilePut(1, TmpBuf)
        Next
        FileClose()
Цитата Сообщение от uzlprog Посмотреть сообщение
скорость не так важна
Когда Вы посмотрите на прогрессбар, поймете, что все же важна
0
21 / 24 / 1
Регистрация: 23.04.2012
Сообщений: 628
22.03.2014, 23:34  [ТС]
Когда Вы посмотрите на прогрессбар, поймете, что все же важна
Ужас то какой!!!

Так, ладно. Вернемся к реалиям. Меня вот интересует какой максимальный размер файла поддерживает сей код:

VB.NET
1
2
3
4
5
6
7
8
Dim R As New Random
        Dim fName As String = "C:\SkyDrive\1.avi"
        Dim BufSize As Long = New IO.FileInfo(fName).Length
        Dim Musor_no_police(CInt(BufSize - 1)) As Byte
        For I As Integer = 0 To CInt(BufSize - 1)
            Musor_no_police(I) = CByte(R.Next(0, 256))
        Next
        IO.File.WriteAllBytes(fName, Musor_no_police)
Я что-то ни как не могу вычислить... Ограничение же стандартное, а найти его не могу... каково ограничение на переменную в Vb?
0
Почетный модератор
 Аватар для Памирыч
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
22.03.2014, 23:36
Код поменял на тот что пошустрее.

Цитата Сообщение от uzlprog Посмотреть сообщение
какой максимальный размер файла поддерживает сей код
Ограничения то накладываются не на размер файла, а на размерность объявляемого массива
Поменяйте цифры в объявлении методом тыка, так и узнаете
0
21 / 24 / 1
Регистрация: 23.04.2012
Сообщений: 628
22.03.2014, 23:42  [ТС]
Ограничения то накладываются не на размер файла, а на размерность объявляемого массива
Я понимаю, просто зная размерность можно вычислить мах длину файла, а значит и его размер)

Поменяйте цифры в объявлении методом тыка, так и узнаете
Попробую....

Таки справка MS мне говорит:

Длина каждого измерения массива ограничена максимальным значением типа Integer, которое равно (2 ^ 31) - 1.
Тогда какого же 1.5 Gb вызывают ошибку?!
0
Почетный модератор
 Аватар для Памирыч
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
23.03.2014, 00:45
Цитата Сообщение от uzlprog Посмотреть сообщение
Тогда какого же 1.5 Gb вызывают ошибку
в нем байтов больше, чем выдерживает Integer.

Еще:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        Dim R As New Random
        Dim fName As String = "C:\1.avi"
        Dim BufSize As Long = New IO.FileInfo(fName).Length
        ProgressBar1.Maximum = 101
        ProgressBar1.Value = 0
        Dim TmpBuf(BufSize / 100) As Byte
        For BC As Integer = 0 To TmpBuf.Length - 1
            TmpBuf(BC) = R.Next(0, 256)
        Next
        Dim FS As New IO.FileStream(fName, IO.FileMode.Create)
        For I As Long = 0 To BufSize - 1 Step BufSize / 100
            ProgressBar1.Value += 1
            Application.DoEvents()
            FS.Write(TmpBuf, 0, TmpBuf.Length)
        Next
        FS.SetLength(BufSize)
        FS.Close()
Работает куда быстрее.

Ну и контрольный.
Проблему создает не затирание файла, а "Мусор".
Предлагаю пойти другим путем.
Забивать файл не мусором, а нулевыми байтами (что тоже в какой-то степени мусор)

VB.NET
1
2
3
4
5
        Dim fName As String = "C:\31.txt"
        Dim BufSize As Long = New IO.FileInfo(fName).Length
        Dim FS As New IO.FileStream(fName, IO.FileMode.Create)
        FS.SetLength(BufSize)
        FS.Close()
Работает мгновенно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.03.2014, 00:45

Перезапись файла
Добрый день. НаписАл программку на php которая достаёт инфу с сайта и сохраняет в excel файл на локальном компьютере. Необходимо...

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

перезапись файла
Уважаемые знатоки, можно как-то организовать защиту перезаписи или удаления файла из конкретной папки в Windows, а именно в папке с...

Перезапись файла
Всем привет. Мне нужно удалить строку (произвольную) из файла. Как я понял, единственный способ это сделать - полностью стереть...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru