Ошибка в готовом коде - C#
Формулировка задачи:
Добрый день!
Мне сказали, что в каком-то из нижеприведенных кусков кода есть ошибка. Я пробую и так, и так, в среду урок, а у меня что-то в нём не одна ошибка, а очень много. Пожалуйста, подскажите, что в нём не так?
Огромное спасибо заранее!
class FileExplorer { static void Main(string[] args) { GetDirs("C:\\windows"); Console.ReadKey(); } static void GetDirs(string nameDir) { Console.WriteLine("Directory {0}",nameDir); foreach(string dirname in Directory.EnumerateDirectories(nameDir)) { try { foreach (string filename in Directory.EnumerateFiles(dirname)) { Console.WriteLine("File {0}", filename); } GetDirs(dirname); } catch { continue; } } } } class ProgramFileInfo { static void Main(string[] args) { string curdir = Directory.GetCurrentDirectory(); FileStream fs = File.Create("Test.txt"); fs.Close(); File.Copy("Test.txt", "CopyTest.txt"); File.Delete("Test.txt"); bool x = File.Exists("Test.txt"); FileInfo file = new FileInfo("CopyTest.txt"); FileStream fstrim = file.OpenWrite(); fstrim.WriteByte((byte)'a'); // Запись одного байта в файл fstrim.Close(); Console.ReadKey(); //------------------------------------------------------------------------ fstrim = file.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite); fstrim.Seek(0, SeekOrigin.Begin); for (int i = 0; i < 256; i++) { fstrim.WriteByte((byte)i); } fstrim.Position = 0; for (int i = 1; i < 256; i++) { Console.Write("{0} ", fstrim.ReadByte()); // чтение одного байта из файла } fstrim.Close(); Console.ReadKey(); //---------------------------------------------------------------------------- FileInfo fileTxt = new FileInfo("Test01.txt"); StreamWriter fsText = fileTxt.CreateText(); fsText.WriteLine("1.string 1"); fsText.WriteLine("2.string 2"); // Запись строки в файл fsText.WriteLine("3.string 3"); fsText.Close(); StreamReader sr = fileTxt.OpenText(); string s0 = null; while ((s0 = sr.ReadLine()) != null) // чтение строк из файла в цикле Console.WriteLine(s0); // S0 содержит текущую строку потока sr; sr.Close(); Console.ReadKey(); } } class ProgramBinary { static void Main(string[] args) { Console.WriteLine("Классы и функции пространства имен System.IO"); Console.WriteLine(""); string DirName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); string filename = Path.Combine(DirName, "tempData.dat"); FileStream fs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite); BinaryWriter bw = new BinaryWriter(fs); // BinaryWriter bw = new BinaryWriter(fs,Encoding.Default); string str = "русский текст"; bw.Write(str); int n0 = 100; bw.Write(n0); bw.Write(150.25F); bw.Write(500.001); bw.Write(true); char[] charArray = {'X','Y','Z','A' }; bw.Write(charArray); bw.BaseStream.Position = 0; Console.WriteLine("Чтение файла"); Console.WriteLine(""); BinaryReader br = new BinaryReader(fs); while (br.PeekChar() != -1) { Console.Write(br.ReadByte()); } Console.WriteLine(""); bw.BaseStream.Position = 0; Console.WriteLine(br.ReadString()); Console.WriteLine(br.ReadUInt32()); Console.WriteLine(br.ReadSingle()); Console.WriteLine(br.ReadDouble()); Console.WriteLine(br.ReadBoolean()); Console.WriteLine(br.ReadChars(4)); Console.ReadKey(); } } class ProgramSerialise { static void WritePersons(Persons ps) { while (true) { Persona p = new Persona(); Console.Write("Фамилия:"); p.fam = Console.ReadLine(); if (p.fam.StartsWith("exit")) break; Console.Write("Имя:"); p.name = Console.ReadLine(); Console.Write("Отчество:"); p.otch = Console.ReadLine(); ps.Add(p); } } static void Main(string[] args) { Console.WriteLine("Cериализация объектов"); Console.WriteLine(""); Persons ps = new Persons(); string DirName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); string filename = Path.Combine(DirName, "persons.dat"); if (!File.Exists(filename)) { /* Persona rep = new Persona("Иван", "Иванов", "Иванович"); Persona rep1 = new Persona("Петр", "Петров", "Иванович"); Persona rep2 = new Persona("Сидор", "Сидоров", "Иванович"); ps.Add(rep); ps.Add(rep1); ps.Add(rep2); */ WritePersons(ps); Console.WriteLine("Cериализация объекта Persons"); FileStream fs = new FileStream(filename, FileMode.Append); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, ps); } else { Console.WriteLine("Десериализация объекта Persons"); FileStream fs = new FileStream(filename, FileMode.Open); BinaryFormatter bf = new BinaryFormatter(); Persons persons = bf.Deserialize(fs) as Persons; fs.Close(); foreach (Persona per in persons) { Console.WriteLine("{0} {1} {2}",per.fam,per.name,per.otch); } WritePersons(ps); if (File.Exists(filename)) File.Delete(filename); FileStream fs1 = new FileStream(filename, FileMode.Append); BinaryFormatter bf1 = new BinaryFormatter(); bf1.Serialize(fs1, ps); } Console.ReadKey(); #region пользовательская сериализация Console.WriteLine("Ползовательская Cериализация объектов"); Console.WriteLine(""); string filename1 = Path.Combine(DirName, "secret.dat"); if (!File.Exists(filename1)) { Secret ss = new Secret("123456", 125); FileStream fstr = File.Create(filename1); BinaryFormatter formater = new BinaryFormatter(); formater.Serialize(fstr, ss); fstr.Close(); } else { FileStream fstr = File.OpenRead(filename1); BinaryFormatter formater = new BinaryFormatter(); Secret ss = formater.Deserialize(fstr) as Secret; Console.WriteLine("Parol {0} Cod {1}",ss.parol,ss.cod); } Console.ReadKey(); #endregion } }
Решение задачи: «Ошибка в готовом коде»
textual
Листинг программы
in Directory.GetFiles(nameDir))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д