} // PrintEq // Метод читает из файла сериализованные объекты и "не знает" что с // ними делать: public static void Process(string fileName, Qdelegate qDel) { using (FileStream streamIn = new FileStream(fileName, FileMode.Open)) { List <Quadratic> list = (List <Quadratic>)serializer.Deserialize(streamIn); qDel(list); } }
/// <summary> /// Deserialize equations. /// </summary> /// <param name="path"> Path to file </param> /// <param name="qDel"> My delegate </param> private static void Process(string path, Qdelegate qDel) { using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) { var formatter = new DataContractJsonSerializer(typeof(List <Quadratic>)); var equations = (List <Quadratic>)formatter.ReadObject(fs); equations.ForEach(el => qDel(el)); } }
/// <summary> /// Deserialize equations. /// </summary> /// <param name="path"> Path to file </param> /// <param name="qDel"> My delegate </param> private static void Process(string path, Qdelegate qDel) { using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) { var formatter = new SoapFormatter(); var equations = (List <Quadratic>)formatter.Deserialize(fs); equations.ForEach(el => qDel(el)); } }
public static void Process(string fileName, Qdelegate qDel) { using (FileStream streamIn = new FileStream(fileName, FileMode.Open)) { XmlSerializer formatIn = new XmlSerializer(typeof(List <Quadratic>), new Type[] { typeof(Quadratic) }); List <Quadratic> list = (List <Quadratic>)formatIn.Deserialize(streamIn); foreach (Quadratic eq in list) { qDel(eq); } streamIn.Close(); } }
public static void Process(string fileName, Qdelegate qDel) { using (FileStream streamIn = new FileStream(fileName, FileMode.Open)) { BinaryFormatter formatIn = new BinaryFormatter(); Quadratic eq; while (true) // читать до конца файла - там исключение { try { eq = (Quadratic)formatIn.Deserialize(streamIn); qDel(eq); } catch (SerializationException) { streamIn.Close(); break; } } } }
public static void ReadFile(string filename, Qdelegate qDel) { BinaryFormatter binaryFormatter = new BinaryFormatter(); using (FileStream fileStream = new FileStream(filename, FileMode.Open)) { while (true) { try { QuadraticEquation quadraticEquation = binaryFormatter.Deserialize(fileStream) as QuadraticEquation; qDel(quadraticEquation); } catch { return; } } } }
public static void Process(string fileName, Qdelegate qDel) { using (FileStream streamIn = new FileStream(fileName, FileMode.Open)) { XmlSerializer formatIn = new XmlSerializer(typeof(Quadratic)); Quadratic eq; while (true) { try { eq = (Quadratic)formatIn.Deserialize(streamIn); qDel(eq); } catch (SerializationException) { streamIn.Close(); break; } } } }
public static void Process(string fileName, Qdelegate qDel) { using (FileStream streamIn = new FileStream(fileName, FileMode.Open)) { XmlSerializer reader = new XmlSerializer(typeof(List <Quadratic>), new Type[] { typeof(Quadratic) }); List <Quadratic> eq; while (true) { try { eq = (List <Quadratic>)reader.Deserialize(streamIn); qDel(eq); } catch (SerializationException) { streamIn.Close(); break; } } } }
public static void ReadFile(string filename, Qdelegate qDel) { XmlSerializer formatter = new XmlSerializer(typeof(List <QuadraticEquation>)); using (FileStream fileStream = new FileStream(filename, FileMode.Open)) { Console.WriteLine("OK"); while (true) { try { var quadraticEquation = (List <QuadraticEquation>)formatter.Deserialize(fileStream); quadraticEquation.ForEach(x => qDel(x)); } catch { return; } } } }
public static void ReadFromFile(string filename, Qdelegate del) { using (FileStream fs = new FileStream(filename, FileMode.Open)) { XmlSerializer xs = new XmlSerializer(typeof(QuadraticEquation[])); QuadraticEquation[] arr = (QuadraticEquation[])xs.Deserialize(fs); for (int i = 0; i < arr.Length; i++) { try { del(arr[i]); } catch (ArgumentException ex) { Console.WriteLine(ex.Message); } } } }
public static void Process(string fileName, Qdelegate qDel) { using (FileStream streamIn = new FileStream(fileName, FileMode.Open)) { XmlSerializer formatIn = new XmlSerializer(typeof(Quadratic[]), new Type[] { typeof(double) }); Quadratic[] e; while (true) { try { e = (Quadratic[])formatIn.Deserialize(streamIn); foreach (Quadratic eq in e) { qDel(eq); } } catch { streamIn.Close(); break; } } } }
/// <summary> /// Deserialize equations. /// </summary> /// <param name="path"> Path to file </param> /// <param name="qDel"> My delegate </param> private static void Process(string path, Qdelegate qDel) { using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)) { var formatter = new BinaryFormatter(); while (true) { try { var equation = (Quadratic)formatter.Deserialize(fs); qDel(equation); } catch (SerializationException) { break; } } } }
/// <summary> /// Json serialization. /// </summary> /// <param name="path"> Path to file </param> /// <param name="qDel"> My delegate </param> private static void JsonDeserialization(string path, Qdelegate qDel) { try { Process(path, qDel); } catch (SerializationException ex) { PrintMessage($"Serialization error: {ex.Message}"); } catch (IOException ex) { PrintMessage($"Problem with file: {ex.Message}"); } catch (SecurityException ex) { PrintMessage($"Access exception: {ex.Message}"); } catch (Exception ex) { PrintMessage($"Unexpected error: {ex.Message}"); } }