Быстрое создание файла - 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д