public static string ToFileSizeString(double size, FileSizeMode mode, int dps) { var fileSize = ToFileSize(size, mode, out var unit); var formattedSize = fileSize.ToString(unit != FileSizeUnit.Bytes ? $"F{dps}" : null); var unitString = ToUnitString(mode, unit); return($"{formattedSize} {unitString}"); }
public static string ToUnitString(FileSizeMode mode, FileSizeUnit unit) { if (mode == FileSizeMode.Binary && unit != FileSizeUnit.Bytes) { var str = unit.ToString(); var index = str.IndexOf('B'); return(str.Insert(index, "i")); } else if (mode == FileSizeMode.SI) { return(unit.ToString()); } return(unit.ToString()); }
public void ShowCreateFileBySizeOption(FileSizeMode fileMode) { try { Console.Write("Digite o tamanho do arquivo: "); long size = int.Parse(Console.ReadLine()); size = size * (long)fileMode; Stopwatch sw = Stopwatch.StartNew(); fileController.WriteFileBySize(size); sw.Stop(); Console.WriteLine("Arquivo criado com sucesso!"); Console.WriteLine("Tempo para criação do arquivo: " + sw.Elapsed); } catch (Exception ex) { throw ex; } }
public static double ToFileSize(double size, FileSizeMode mode, out FileSizeUnit unit) { var factor = (int)mode; var fileSize = size; var units = EnumUtils.Values <FileSizeUnit>(); int count = 0; while (true) { if (count + 1 >= units.Length || fileSize < factor) { break; } fileSize /= factor; count++; } unit = units[count]; return(fileSize); }