Tenho um requisito para testar alguns problemas de carga em relação ao tamanho do arquivo. Eu tenho um aplicativo do Windows escrito em C # que irá gerar os arquivos automaticamente. Eu sei o tamanho de cada arquivo, ex. 100 KB e quantos arquivos gerar. Preciso de ajuda é como gerar uma string menor ou igual ao tamanho do arquivo necessário.
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
fonte
fonte
Respostas:
Você sempre pode usar o construtor a para string que leva ae
char
várias vezes para que o caractere seja repetido:Isso lhe dá uma seqüência de 5.000 estrelas - ajuste de acordo com suas necessidades.
fonte
A maneira mais fácil seria seguir o código:
Agora você tem uma string com tantos A quantos forem necessários.
Para preenchê-lo com Lorem Ipsum ou alguma outra string repetida, construa algo como o seguinte pseudocódigo:
Editar: Se você estiver salvando em Unicode, pode ser necessário reduzir a metade da contagem do tamanho do arquivo porque o Unicode usa dois bytes por caractere, se bem me lembro.
fonte
Existem tantas variações sobre como você pode fazer isso. Uma delas seria preencher o arquivo com um monte de caracteres. Você precisa de 100 KB? Sem problemas .. 100 * 1024 * 8 = 819200 bits. Um único caractere tem 16 bits. 819200/16 = 51200. Você precisa colocar 51.200 caracteres em um arquivo. Mas considere que um arquivo pode ter cabeçalho / metadados adicionais, então você pode precisar considerar isso e diminuir o número de caracteres a serem gravados no arquivo.
fonte
Como uma resposta parcial à sua pergunta, recentemente criei um aplicativo WPF portátil que cria facilmente arquivos 'lixo' de quase qualquer tamanho: https://github.com/webmooch/FileCreator
fonte