Saya memiliki persyaratan untuk menguji beberapa masalah pemuatan berkaitan dengan ukuran file. Saya memiliki aplikasi windows yang ditulis dalam C # yang secara otomatis akan menghasilkan file. Saya tahu ukuran setiap file, mis. 100 KB, dan berapa banyak file yang akan dibuat. Yang saya perlukan bantuan adalah bagaimana menghasilkan string yang kurang dari atau sama dengan ukuran file yang dibutuhkan.
kode semu:
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
sumber
sumber
Jawaban:
Anda selalu dapat menggunakan konstruktor untuk string yang membutuhkan a
char
dan berapa kali Anda ingin karakter tersebut berulang:Ini memberi Anda rangkaian 5.000 bintang - sesuaikan dengan kebutuhan Anda.
sumber
Cara termudah adalah kode berikut:
Sekarang Anda memiliki string dengan A sebanyak yang dibutuhkan.
Untuk mengisinya dengan Lorem Ipsum atau beberapa string berulang lainnya, buatlah sesuatu seperti pseudocode berikut:
Sunting: Jika Anda menyimpan di Unicode Anda mungkin perlu setengah dari jumlah file karena unicode menggunakan dua byte per karakter jika saya ingat dengan benar.
sumber
Ada begitu banyak variasi tentang bagaimana Anda bisa melakukan ini. Satu akan, mengisi file dengan banyak karakter. Anda membutuhkan 100KB? Tidak masalah .. 100 * 1024 * 8 = 819200 bit. Satu karakter adalah 16 bit. 819200/16 = 51200. Anda perlu memasukkan 51.200 karakter ke dalam sebuah file. Tetapi pertimbangkan bahwa file mungkin memiliki header / meta data tambahan, jadi Anda mungkin perlu memperhitungkannya dan mengurangi jumlah karakter untuk menulis ke file.
sumber
Sebagai jawaban parsial untuk pertanyaan Anda, saya baru-baru ini membuat aplikasi WPF portabel yang dengan mudah membuat file 'sampah' dari hampir semua ukuran: https://github.com/webmooch/FileCreator
sumber