У меня есть требование проверить некоторые проблемы с нагрузкой в отношении размера файла. У меня есть приложение для Windows, написанное на C #, которое автоматически генерирует файлы. Я знаю размер каждого файла, например. 100КБ и сколько файлов нужно сгенерировать. Мне нужна помощь, как сгенерировать строку, меньшую или равную требуемому размеру файла.
псевдокод:
long fileSizeInKB = (1024 * 100); //100KB
int numberOfFiles = 5;
for(var i = 0; i < numberOfFiles - 1; i++) {
var dataSize = fileSizeInKB;
var buffer = new byte[dataSize];
using (var fs = new FileStream(File, FileMode.Create, FileAccess.Write)) {
}
}
c#
string
.net
operations
VajNyiaj
источник
источник
Ответы:
Вы всегда можете использовать конструктор a для строки, которая принимает a
char
и сколько раз вы хотите, чтобы этот символ повторялся:Это дает вам строку из 5000 звезд - настройте в соответствии с вашими потребностями.
источник
Самый простой способ - это следующий код:
Теперь у вас есть строка с таким количеством A, которое требуется.
Чтобы заполнить его Lorem Ipsum или другой повторяющейся строкой, создайте что-то вроде следующего псевдокода:
Изменить: если вы сохраняете в Unicode, вам может потребоваться половина количества файлов, потому что Unicode использует два байта на символ, если я правильно помню.
источник
Есть очень много вариантов того, как это можно сделать. Можно было бы заполнить файл кучей символов. Вам нужно 100КБ? Нет проблем .. 100 * 1024 * 8 = 819200 бит. Один символ - это 16 бит. 819200/16 = 51200. Вам нужно вставить 51 200 символов в файл. Но учтите, что файл может иметь дополнительный заголовок / метаданные, поэтому вам может потребоваться учесть это и уменьшить количество символов для записи в файл.
источник
В качестве частичного ответа на ваш вопрос я недавно создал портативное приложение WPF, которое легко создает «ненужные» файлы практически любого размера: https://github.com/webmooch/FileCreator
источник