public static Decoder CreateDecoder(String path, out EEncodingMode mode) { IConverter converter = GetConverter(path); mode = converter.GetMode(); return(new Decoder(path, converter)); }
private static IConverter GetConverter(EEncodingMode mode) { switch (mode) { case EEncodingMode.Ascii: return(new AsciiCharConverter()); case EEncodingMode.UnicodeBigEndian: return(new UnicodeBECharConverter()); case EEncodingMode.UnicodeLittleEndian: return(new UnicodeLECharConverter()); case EEncodingMode.Utf8: return(new Utf8Converter()); default: throw new NotSupportedException(); } }
private void UseEncodeMode() { if (!CheckInitialData()) { return; } String path = TakePathFromUser(EProgramMode.Encoder); if (!String.IsNullOrEmpty(path)) { EEncodingMode encodingMode = UserDialog.TakeEncodingModeFromUser(); Encoder encoder = Encoder.CreateEncoder(path, encodingMode); encoder.WriteDataToFile(ReadChars); UserDialog.ReportAboutSuccessWriting(path, encodingMode); } }
public static void ReportAboutSuccessWriting(String path, EEncodingMode mode) { Console.WriteLine($"Success. File {path} was written in {mode.ToString()}.\n"); }
public static void ReportAboutSuccessReading(String path, EEncodingMode mode) { Console.WriteLine($"Success. File {path} was read from {mode.ToString()}.\n"); }
public static Encoder CreateEncoder(String path, EEncodingMode mode) { IConverter decoder = GetConverter(mode); return(new Encoder(path, decoder)); }