Tengo el requisito de probar algunos problemas de carga con respecto al tamaño del archivo. Tengo una aplicación de Windows escrita en C # que generará automáticamente los archivos. Sé el tamaño de cada archivo, ej. 100 KB y cuántos archivos generar. Lo que necesito ayuda es cómo generar una cadena menor o igual al tamaño de archivo requerido.
pseudo código:
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
fuente
fuente
Respuestas:
Siempre puede usar el constructor a para una cadena que toma a
char
y varias veces que desea que ese carácter se repita:Esto le da una cadena de 5000 estrellas, ajústelo a sus necesidades.
fuente
La forma más fácil sería seguir el código:
Ahora tienes una cuerda con tantas A como sea necesario.
Para llenarlo con Lorem Ipsum o alguna otra cadena repetida, construya algo como el siguiente pseudocódigo:
Editar: Si está guardando en Unicode, es posible que necesite la mitad del recuento porque Unicode usa dos bytes por carácter si no recuerdo mal.
fuente
Hay tantas variaciones sobre cómo puede hacer esto. Una sería, llenar el archivo con un montón de caracteres. ¿Necesitas 100 KB? No hay problema ... 100 * 1024 * 8 = 819200 bits. Un solo carácter tiene 16 bits. 819200/16 = 51200. Necesita pegar 51.200 caracteres en un archivo. Pero tenga en cuenta que un archivo puede tener encabezados / metadatos adicionales, por lo que es posible que deba tener en cuenta eso y disminuir la cantidad de caracteres para escribir en el archivo.
fuente
Como respuesta parcial a su pregunta, recientemente creé una aplicación WPF portátil que crea fácilmente archivos 'basura' de casi cualquier tamaño: https://github.com/webmooch/FileCreator
fuente