public void SetUp() { current = new Directory("c:", true); current.chmod(7); current.mkdir("Dossier1"); current.mkdir("Dossier2"); current.createNewFile("Fichier"); Newfile = current.cd("NewFile"); Dossier1 = (Directory)current.cd("Dossier1"); Dossier2 = (Directory)current.cd("Dossier2"); Fichier = (File)current.cd("Fichier"); }
public Directory(string name, Directory parent) : base(name, parent) { }
public File(string name, Directory parent) { this.Name = name; this.Parent = parent; }
public bool mkdir(string nom) { if (base.canWrite()) { if (contenu.Count == 0) { Directory newDirectory = new Directory(nom, this); contenu.Add(newDirectory); return true; } else { foreach (File load in contenu) { if (load.Name != nom) { Directory newDirectory = new Directory(nom, this); contenu.Add(newDirectory); return true; } else { Console.WriteLine("Le dossier existe déjà"); return false; } } return true; } } else { return false; } }
static void Main(string[] args) { string command; File courants = new Directory("c:", true); do { Console.ForegroundColor = ConsoleColor.Green; Console.Write("[" + courants.Name + "] # "); Console.ResetColor(); string saisie = Console.ReadLine(); command = getCommand(saisie); string argument = getArgument(saisie); string argument2 = getArgument2(saisie); try { Directory courant = (Directory)courants; if (command == "create" && saisie != null) { bool check = courant.createNewFile(argument); if (check) { Console.WriteLine("Le fichier a été créé"); } else if (courant.getPermission() == 1 || courant.getPermission() == 4) { Console.WriteLine("Vous n'avez pas les droits nécessaires"); } } else if (command == "mkdir" && saisie != null && argument != null) { bool check = courant.mkdir(argument); if (check) { Console.WriteLine("Dossier " + argument + " créé"); } else if (courant.getPermission() == 1 || courant.getPermission() == 4) { Console.WriteLine("Vous n'avez pas les droits nécessaires"); } } if (command == "ls" && saisie != null) { string type; if (courant.canRead()) { List<File> list = courant.ls(); if (list.Count == 0) { Console.WriteLine("Le dossier est vide"); } else { foreach (File load in list) { if (load.isFile()) { type = "f"; } else { type = "d"; } Console.WriteLine(load.getPermission() + " " + load.Name + " (" + type + ")"); } } } else { Console.WriteLine("Vous n'avez pas les droits nécessaires"); } } else if (command == "cd" && saisie != null && argument != null) { File next = courant.cd(argument); if (next == null) { Console.WriteLine("Impossible de se déplacer"); } else { courants = next; } } else if (command == "remove" && saisie != null && argument != null) { bool check = courant.delete(argument); if (check) { Console.WriteLine("Fichier supprimé"); } else { Console.WriteLine("Impossible de supprimer le fichier"); } } if (command == "rename" && saisie != null && argument != null && argument2 != null) { File renome = courant.cd(argument); bool check = renome.renameTo(argument2); if (check) { Console.WriteLine("Le dossier/fichier a été renommé"); } else { Console.WriteLine("Le dossier/fichier n'a pas été renommé"); } } if (command == "search" && saisie != null && argument != null) { List<File> resultat = courant.search(argument); foreach(File encours in resultat) { Console.WriteLine(encours.getPath()); } } } catch { if (command == "ls" && saisie != null) { Console.WriteLine("Vous êtes dans un fichier"); } } if (command == "") { } if (command == "parent") { courants = courants.getParent(); } if (command == "path") { string path = courants.getPath(); Console.WriteLine(path); } if (command == "file") { if (courants.isFile()) { Console.WriteLine("C'est un fichier"); } else { Console.WriteLine("Ce n'est pas un fichier"); } } if (command == "directory") { if (courants.isDirectory()) { Console.WriteLine("C'est un dossier"); } else { Console.WriteLine("Ce n'est pas un dossier"); } } if (command == "root") { File root = courants.getRoot(); Console.WriteLine(root.Name); } if (command == "chmod" && saisie != null) { try { courants.chmod(int.Parse(argument)); } catch { Console.WriteLine("Chmod est incorrect"); } } if (command == "name") { string name = courants.getName(); Console.WriteLine(name); } if (command == "stop" && saisie != null) { Console.WriteLine("Arrêt du système"); } } while (command != "stop"); Console.ReadLine(); }