Main class - test FileManager v_0.2

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace Server
{
class Program
{
static void Main(string[] args)
{
FileManager fm = new FileManager();
while (true)
{
GetMenu();
int select;
while (true)
{
Console.Write("Ваш выбор: ");
if (int.TryParse(Console.ReadLine(), out select)) { break; }
}
switch (select)
{
case 0:
return; //выход
case 1:
string[] dir = fm.GetDirectory;
for (int i = 0; i < dir.Length; i++)
{
Console.WriteLine(dir[i]);
}
break;
case 2:
string[] file = fm.GetFiles;
for (int i = 0; i < file.Length; i++)
{
Console.WriteLine(file[i]);
}
break;
case 3:
Console.Write("Введите имя директории: ");
string newDirectory = Console.ReadLine();
fm.GoToDirectory(newDirectory);
break;
case 4:
fm.BackToDirectiry();
break;
case 5:
Console.Write("Введите имя новой директории: ");
string nameCreateDirectory = Console.ReadLine();
fm.CreateCatalog(nameCreateDirectory); //какого хрена каталог? Всегда же директория.. Переименовать.
break;
case 6:
Console.Write("Введите имя нового файла: ");
string nameCreateFile = Console.ReadLine();
fm.CreateFile(nameCreateFile);
break;
case 7:
Console.Write("Введите имя директории: ");
string nameRemoveDirectory = Console.ReadLine();
fm.RemoveDirectory(nameRemoveDirectory);
break;
case 8:
Console.Write("Введите имя файла: ");
string nameRemoveFile = Console.ReadLine();
fm.RemoveFile(nameRemoveFile);
break;
case 9:
Console.Write("Введите имя директории которую надо переименовать: ");
string nameRenameDirectory = Console.ReadLine();
Console.Write("Введите новое имя: ");
string newNameRenameDirectory = Console.ReadLine();
fm.RenameDirectory(nameRenameDirectory, newNameRenameDirectory);
break;
case 10:
Console.Write("Введите имя файла который надо переименовать: ");
string nameRenameFile = Console.ReadLine();
Console.Write("Введите новое имя: ");
string newNameRenameFile = Console.ReadLine();
fm.RenameFile(nameRenameFile, newNameRenameFile);
break;
case 11:
Console.Write("Введите полный путь к директории которую следует сюда переместить: ");
string fullPathDirectory = Console.ReadLine();
fm.MoveDirectory(fullPathDirectory);
break;
case 12:
Console.Write("Введите полный путь к файлу который следует сюда переместить: ");
string fullPathFile = Console.ReadLine();
fm.MoveFile(fullPathFile);
break;
case 13:
Console.Write("Введите полный путь к директории которую следует сюда скопировать: ");
string fullPathCopyDirectory = Console.ReadLine();
fm.CopyDirectory(fullPathCopyDirectory);
break;
case 14:
Console.Write("Введите полный путь к файлу который следует сюда скопировать: ");
string fullPathCopyFile = Console.ReadLine();
fm.CopyFile(fullPathCopyFile);
break;
case 15:
Console.Write("Введите имя файла: ");
string nameGetFile = Console.ReadLine();
string[] lines = fm.GetTextFileContent(nameGetFile);
Console.WriteLine("======= " + nameGetFile + " =======");
foreach (string str in lines)
{
Console.WriteLine(str);
}
Console.WriteLine("=====================================");
break;
case 16:
Console.Write("Введите имя файла: ");
string nameToSetFile = Console.ReadLine();
Console.Write("Введите произвольный текст: ");
string newStr = Console.ReadLine();
fm.SetTextFileContent(nameToSetFile, newStr);
break;
}
}
}
/*Интерфейс файлового менеджера:
+ * GetDirectories:string[] (свойство) Возвращает список каталогов в виде массива строк
+ * GetFiles:string[] (свойство) Возвращает список файлов в виде массива строк
+ * GoToDirectory(string):void Переходит в указанный в качестве параметра каталог
+ * BackToDirectiry():void Возращается в родительский каталог
+ * CreateCatalog(string):void Создает каталог, имя которого переданно в качестве параметра
+ * CreateFile(string):void Создает файл, имя которого переданно в качестве параметра
+ * RemoveDirectory(string):void Удаляет указаную деректорию, имя которой передано в качестве аргумента
+ * RemoveFile(string):void Удаляет указаный файл, имя которого передано в качестве аргумента
+ * RenameDirectory(string, string):void Переименовывает указанную директорию (первый параметр) в имя, переданное вторым параметром
+ * RenameFile(string, string):void Переименовывает указанный файл (первый параметр) в имя, переданное вторым параметром
+ * MoveDirectory(string):void Перемещает в текущую директорию новую директорию, полное имя которого передано параметром
+ * MoveFile(string):void Перемещает в текущую директорию новый файл, полное имя которого передано параметром
+ * CopyDirectory(string):void Копирует в текущий каталог новый каталог, полное имя которого передано в качестве параметра.
+ * CopyFile(string):void Копирует в текущий каталог новый файл, полное имя которого передано в качестве параметра.
+ * GetTextFileContent(string):string[] Возвращает текстовое содержимое указанного файла массивом строк
* SetTextFileContent(string, string[]):void Устанавливает новое содержимое файла, первый параметр - имя файла, второй параметр - массив строк
+ * SetTextFileContent(string, string):void Устанавливает новое содержимое файла, первый параметр - имя файла, второй параметр - строка
*
*/
static void GetMenu()
{
Console.WriteLine(@"Выберите действие:
1. Список директорий
2. Список файлов
3. Перейти в директорию
4. Подняться в родительский каталог
5. Создать каталог
6. Создать файл
7. Удалить каталог
8. Удалить файл
9. Переименовать каталог
10. Переименовать файл
11. Переместить сюда директорию
12. Переместить сюда файл
13. Скопировать сюда директорию
14. Скопировать сюда файл
15. Получить текстовое содерфимое файла
16. Записать новые данные в файл
");
}
}
}