Быстрое создание файла - C#
Формулировка задачи:
Нужно создать гигабайтный файл.
Происходит это в течении нескольких десятков секунд, потому что стандартные средства шарпа форматируют файловое пространство нулями. Как можно создать файл без очистки?
Решение задачи: «Быстрое создание файла»
textual
Листинг программы
- static void Main(string[] args)
- {
- var sw = new Stopwatch();
- sw.Start();
- long size = 1024 * 1024 * 1024;
- string fname = @"d:\shit.dat";
- using (var writer = File.Create(fname))
- {
- writer.SetLength(size);
- }
- using (MemoryMappedFile mf = MemoryMappedFile.CreateFromFile(fname))
- {
- byte[] bytesToWrite = System.Text.Encoding.UTF8.GetBytes("Hello");
- long pos = size - bytesToWrite.Length;
- using (var stream = mf.CreateViewStream(pos, bytesToWrite.Length))
- {
- // stream.Position = 0;
- stream.Write(bytesToWrite, 0, bytesToWrite.Length);
- }
- }
- sw.Stop();
- Console.WriteLine(sw.ElapsedMilliseconds);
- Console.ReadKey();
- // File.Delete(fname);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д