Ejemplo n.º 1
0
 public File(string name, Directory parent, int permission)
 {
     this.name = name;
     this.parent = parent;
     this.permission = permission;
 }
Ejemplo n.º 2
0
 // j'ai un problème avec ma liste, retourne null losque l'on se déplace dans un fichier avec le cd
 public Directory(string name, Directory parent, int permission)
     : base(name, parent, permission)
 {
     this.name = name;
     this.parent = parent;
 }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            File Racine = new Directory("racine", null, 7);
            File current = Racine;
            string Saisie = null;

            do
            {

                Console.Write("<" + current.name + "># "); // affichage
                // on entre les commandes et les arguments
                Saisie = Console.ReadLine();
                string argument;
                string[] Commande = Saisie.Split(' ');
                string instruction = Commande[0];
                if (Commande.Length > 1)
                {
                    argument = Commande[1];
                }
                else
                {
                    argument = null;
                }

                switch (instruction)
                {

                    case "create":
                        bool creationFile = Racine.createNewFile(argument);
                        if (creationFile && argument != null)
                        {
                            Console.WriteLine("File créé !");

                        }
                        else
                        {
                            Console.WriteLine("Echec de la création de file !");
                        }

                        break;

                    case "mkdir":
                        if (current.isDirectory() && argument != null)
                        {
                            bool creationDirectory = Racine.mkdir(argument);
                            if (creationDirectory)
                            {

                                Console.WriteLine("Directory créé !");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Echec de la création de directory !");
                        }

                        break;

                    case "ls":
                        if (current.canRead())
                        {
                            if (current.ls() == null)
                            {
                                Console.WriteLine("Dossier vide");
                            }
                            else
                            {
                                foreach (File item in current.ls())
                                {
                                    Console.WriteLine(item.name + " (" + item.GetType() + ")" + "permission : " + item.permission);
                                }
                            }
                        }
                        else
                        {
                            Console.WriteLine("Affichage du fichier impossible, droits insuffisants ou argument non valide");
                        }

                        break;

                    case "cd":
                        if (argument != null)
                        {

                            File nextFile = current.cd(argument);
                            if (nextFile == null)
                            {
                                Console.WriteLine("Déplacement invalide");
                            }
                            else
                            {
                                current = nextFile;
                            }
                        }
                        break;

                    case "file":
                        if (current.isFile() == true)
                        {
                            Console.WriteLine("Le fichier courant est un file");
                        }
                        else
                        {
                            Console.WriteLine("Le fichier courant n'est pas un file");
                        }

                        break;

                    case "directory":
                        if (current.isDirectory() == true)
                        {
                            Console.WriteLine("Le fichier courant est un directory");
                        }
                        else
                        {
                            Console.WriteLine("Le fichier courant n'est pas un directory");
                        }

                        break;

                    case "name":
                        Console.WriteLine("Le nom du fichier courant est : " + current.getName());

                        break;

                    case "rename":
                        if (argument != null)
                        {
                            current.renameTo(argument);
                        }
                        break;

                    case "parent":
                        if (argument != null)
                        {
                            current = current.getParent();
                        }

                        break;

                    case "path":
                        string path = current.getPath();
                        Console.WriteLine(path);

                        break;

                    case "root":
                        File root = current.getRoot();
                        Console.WriteLine(root.name);

                        break;

                    case "delete":
                        if (argument != null)
                        {
                            bool supp = current.delete(argument);

                            if (supp)
                            {
                                Console.WriteLine("Fichier supprimé");
                            }
                            else
                            {
                                Console.WriteLine("Fichier non supprimé");
                            }
                        }

                        break;

                    case "search":

                        List<File> recherche = current.search(argument);

                        if (recherche != null)
                        {

                            foreach (File listeFile in recherche)

                                Console.WriteLine("\\" + listeFile.getPath() + "\\");

                        }

                        break;

                    case "chmod":
                        int numPermission = Convert.ToInt32(argument);
                        if (argument != null)
                        {
                            if (numPermission < 0 && numPermission > 7)
                            {
                                current.chmod(numPermission);
                            }
                            else
                            {
                                Console.WriteLine("La permission doit se situer entre 0 et 8");
                            }
                        }

                        break;

                }
            } while (Saisie != "shutdown");

            Console.ReadLine();
        }
Ejemplo n.º 4
0
 public override bool mkdir(string name)
 {
     if (base.canWrite())
     {
         Directory newDirectory = new Directory(name, this, 4);
         listeFile.Add(newDirectory);
         return true;
     }
     else
     {
         return false;
     }
 }