Comment générer de la chaîne d'une certaine longueur à insérer dans un fichier afin de répondre à une taille de fichier critères?
J'ai une exigence de test de charge à certains problèmes en ce qui concerne la taille du fichier. J'ai un windows application écrite en C# qui va automatiquement générer les fichiers. Je sais que la taille de chaque fichier, ex. 100 KO, et le nombre de fichiers à générer. Ce que j'ai besoin d'aide est de savoir comment générer une chaîne inférieure ou égale à la taille du fichier.
pseudo-code:
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)) {
}
}
- Pourquoi avez-vous besoin pour créer une chaîne de caractères? Il suffit d'écrire votre tampon.
- Disons que, je veux l'étendre à générer Lorem Ipsum fichiers texte plutôt que de simplement "fs.Write(buffer, 0, (int)fileSizeInKB)".
Vous devez vous connecter pour publier un commentaire.
Vous pouvez toujours utiliser le constructeur pour la chaîne qui prend un
char
et un certain nombre de fois que vous voulez que le caractère répété:Cela vous donne une chaîne de 5000 étoiles - ajuster à vos besoins.
Plus simple serait de code suivant:
Maintenant vous avez une chaîne avec comme beaucoup que nécessaire.
De le remplir avec le Lorem Ipsum ou une autre chaîne extensible construire quelque chose comme le pseudo-code suivant:
Edit: Si vous êtes en train d'enregistrer en Unicode, vous pouvez avoir besoin à la moitié de la taille du fichier comptent, car unicode utilise deux octets par caractère, si je me souviens bien.
Il y a autant de variations sur comment vous pouvez le faire. On serait, remplissez le fichier avec un tas de caractères. Vous avez besoin de 100K? Pas de problème.. 100 * 1024 * 8 = 819200 bits. Un seul char est de 16 bits. 819200 /16 = 51200. Vous avez besoin de coller 51,200 caractères dans un fichier. Mais considérer qu'un fichier peut avoir d'autres en-tête/méta-données, de sorte que vous pouvez avoir besoin de tenir compte de cela et de diminuer le nombre de caractères à écrire dans un fichier.
Que de répondre en partie à votre question, j'ai récemment créé un portable application WPF qui crée facilement "junk" fichiers de toute taille: https://github.com/webmooch/FileCreator