.NET 4.x Считывание текстового файла команда Windows тип - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Помогите пожалуйста отредактировать код, иначе голова сейчас взорвется! Сложности вызывают: 1)Не могу сообразить как сделать так чтобы при вызове справки "help" он дальше предложил указать путь к считываемому документу. 2)Надо сделать так чтобы при вводе [диск:][путь]\*.txt считывал все txt документы. Вот код:
Листинг программы
  1. using System;
  2. using System.Text;
  3. using System.IO;
  4. namespace XXX
  5. {
  6. class Type
  7. {
  8. const string h = "\n Type[диск:][путь]имя_файла";
  9. static void Main(string[] args)
  10. {
  11. string s = "", pat = "", path = "", line;
  12. int slash = 0;
  13.  
  14. Console.Write("\n Укажите путь к документу");
  15. Console.WriteLine("\n для вывода справки введите ? -? help");
  16. Console.Write(" Путь к документу: ");
  17. s = Console.ReadLine();
  18. if (s=="?"||s== "-?"||s=="help")
  19. {
  20. Console.WriteLine(h);
  21. }
  22.  
  23. char[] p = s.ToCharArray();
  24. for (int i = p.Length - 1; i > 0; i--)
  25. {
  26. if (p[i] == '*')
  27. {
  28. for (int j = i; j > 0; j--)
  29. if (p[j] == '\\')
  30. {
  31. slash = j;
  32. break;
  33. }
  34. for (int j = slash + 1; j < p.Length; j++)
  35. pat += p[j];
  36. for (int j = 0; j < slash + 1; j++)
  37. path += p[j];
  38. break;
  39. }
  40. }
  41. try
  42. {
  43. string[] dirs = Directory.GetFiles(path, pat);
  44. foreach (string dir in dirs)
  45. {
  46. line = R(dir);
  47. }
  48. if (pat == "")
  49. {
  50. line = R(s);
  51. }
  52. }
  53. catch (Exception d)
  54. {
  55. Console.WriteLine("Файл не может быть прочитан:");
  56. Console.WriteLine(d.Message);}
  57. Console.ReadLine();
  58. }
  59. private static string R(string s)
  60. {
  61. string line = "";
  62. StreamReader chet = new StreamReader(s, Encoding.GetEncoding("windows-1251"));
  63. line = chet.ReadLine();
  64. while (line != null)
  65. {
  66. Console.WriteLine("\n");
  67. Console.WriteLine(line);
  68. line = chet.ReadLine();
  69. }
  70. chet.Close();
  71. return line;
  72. }
  73. }
  74. }

Решение задачи: «.NET 4.x Считывание текстового файла команда Windows тип»

textual
Листинг программы
  1. try
  2. {
  3.     Console.Write("Введите путь:"); // C:\Downloads\*.txt
  4.     string path = Console.ReadLine();
  5.     string folder = path.Substring(0, path.LastIndexOf("\\")); // копировать из path символы до последнего слеша
  6.     string ext = path.Substring(path.LastIndexOf("\\") + 1); // все, что после последнего слеша, т.е. *.txt  
  7.     DirectoryInfo dir = new DirectoryInfo(folder);
  8.     if (dir.GetFiles(ext, SearchOption.TopDirectoryOnly).Length == 0)
  9.     {
  10.         Console.WriteLine(string.Format("Файлы с расширением \"{0}\" в директории \"{1}\" не найдены", ext, folder));
  11.     }
  12.     else
  13.     {
  14.         foreach (FileInfo file in dir.GetFiles(ext, SearchOption.TopDirectoryOnly)) // поиск txt файлов в папке folder
  15.         {
  16.             // для каждого из найденного файла
  17.             StreamReader reader = new StreamReader(file.FullName, Encoding.UTF8);
  18.             // считываем файл в строку text
  19.             string text = reader.ReadToEnd();
  20.             reader.Close();
  21.             Console.WriteLine(text); // выводим на экран
  22.         }
  23.     }
  24.     Console.ReadKey();
  25. }
  26. catch (Exception ex)
  27. {
  28.     Console.WriteLine(ex.Message);
  29.     return;
  30. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.556 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы