示例#1
0
        private static void Main()
        {
            var fileSystem = new Directory("File system");
            var diskC      = new Directory("Disk C");
            var pngFile    = new File("1234.png");
            var docFile    = new File("Doc.doc");

            var newFolder = new Directory("New folder");
            var txtFile   = new File("text.txt");
            var csFile    = new File("Program.cs");

            diskC.Add(pngFile);
            diskC.Add(docFile);
            fileSystem.Add(diskC);

            fileSystem.Print();
            Console.WriteLine("-----------------------");

            fileSystem.Remove(pngFile);

            newFolder.Add(txtFile);
            newFolder.Add(csFile);
            diskC.Add(newFolder);

            fileSystem.Print();
        }
示例#2
0
        static void Main(string[] args)
        {
            Component fileSystem = new Directory("File system");
            // new disk
            Component diskC = new Directory("Disk c");
            // new file
            Component pngFile  = new File("12345.png");
            Component docxFile = new File("Document.docx");

            // new files on disk C
            diskC.Add(pngFile);
            diskC.Add(docxFile);
            // add new disk C on file system
            fileSystem.Add(diskC);
            // print new data
            fileSystem.Print();
            Console.WriteLine();
            // remove file
            diskC.Remove(pngFile);
            // create new folder
            Component docsFolder = new Directory("My documents");
            // add new files
            Component txtFile = new File("readme.txt");
            Component csFile  = new File("Program.cs");

            docsFolder.Add(txtFile);
            docsFolder.Add(csFile);
            diskC.Add(docsFolder);

            fileSystem.Print();

            Console.Read();
        }
示例#3
0
        static void Main(string[] args)
        {
            Component fileSystem = new Directory("File System");
            Component diskC      = new Directory("Disk C");
            Component pngFile    = new File("12345.png");
            Component docxFile   = new File("DataMining.docx");

            diskC.Add(pngFile);
            diskC.Add(docxFile);

            fileSystem.Add(diskC);

            fileSystem.Print();
            Console.WriteLine();

            diskC.Remove(pngFile);

            Component docFolder = new Directory("My documents");
            Component txtFile   = new File("readme.txt");
            Component csFile    = new File("Program.cs");

            docFolder.Add(txtFile);
            docFolder.Add(csFile);

            diskC.Add(docFolder);

            fileSystem.Print();

            Console.Read();
        }
示例#4
0
        static void Main(string[] args)
        {
            Component fileSystem = new Directory("Файловая система");
            // определяем новый диск
            Component diskC = new Directory("Диск С");
            // новые файлы
            Component pngFile  = new File("12345.png");
            Component docxFile = new File("Document.docx");

            // добавляем файлы на диск С
            diskC.Add(pngFile);
            diskC.Add(docxFile);
            // добавляем диск С в файловую систему
            fileSystem.Add(diskC);
            // выводим все данные
            fileSystem.Print();
            Console.WriteLine();
            // удаляем с диска С файл
            diskC.Remove(pngFile);
            // создаем новую папку
            Component docsFolder = new Directory("Мои Документы");
            // добавляем в нее файлы
            Component txtFile = new File("readme.txt");
            Component csFile  = new File("Program.cs");

            docsFolder.Add(txtFile);
            docsFolder.Add(csFile);
            diskC.Add(docsFolder);

            fileSystem.Print();

            Console.Read();
        }
示例#5
0
        static void Main(string[] args)
        {
            Component fileSystem = new Directory("File system");
            Component diskC      = new Directory("Disk С");
            Component pngFile    = new File("edrenbaton.png");
            Component docxFile   = new File("tvoyudiviziyou.docx");

            diskC.Add(pngFile);
            diskC.Add(docxFile);
            fileSystem.Add(diskC);
            fileSystem.Print();
            Console.WriteLine();
            diskC.Remove(pngFile);
            Component docsFolder = new Directory("My memes");
            Component txtFile    = new File("povezlopovezlo.txt");
            Component csFile     = new File("Program.cs");

            docsFolder.Add(txtFile);
            docsFolder.Add(csFile);
            diskC.Add(docsFolder);

            fileSystem.Print();

            Console.Read();
        }
示例#6
0
        static void Main(string[] args)
        {
            var pdfFile  = new File("example.pdf");
            var jpegFile = new File("shot.jpeg");
            var docxFile = new File("1.docx");

            var myComputer = new Directory("my computer");

            myComputer.Add(pdfFile);

            var myDocuments = new Directory("my documents");

            myDocuments.Add(jpegFile);
            myDocuments.Add(docxFile);

            myComputer.Add(myDocuments);

            myComputer.Display(1);

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            var fileSystem = new Directory("My Documents");
            var photo      = new Directory("Photo");
            var image      = new File("image.png");

            photo.Add(image);
            fileSystem.Add(photo);
            image.Print();
            fileSystem.Print();
            Console.ReadKey();
        }
        public void Start()
        {
            Component fileSystem = new Directory("File sys");
            Component discD      = new Directory("DiscD");

            Component picsFolder = new Directory("picsFolder");

            Component pic01 = new File("pic01.jpg");
            Component pic02 = new File("pic02.jpg");
            Component pic03 = new File("pic03.jpg");

            picsFolder.Add(pic01);
            picsFolder.Add(pic02);
            picsFolder.Add(pic03);

            discD.Add(picsFolder);

            fileSystem.Add(discD);

            picsFolder.Remove(pic01);

            fileSystem.Print();
        }
示例#9
0
        static void Main(string[] args)
        {
            Component rootDirectory = new Directory("C:\\");
            Component file1         = new File("file1.txt");
            Component directory     = new Directory("ProgramFiles\\");
            Component file2         = new File("file2.txt");
            Component file3         = new File("file3.txt");

            directory.Add(file2);
            directory.Add(file3);
            rootDirectory.Add(file1);
            rootDirectory.Add(directory);

            rootDirectory.DisplayContent();

            /* Output:
             * Directory: C:\
             *  File: file1.txt
             *  Directory: ProgramFiles\
             *      File: file2.txt
             *      File: file3.txt
             */
        }
示例#10
0
        private static Node BuildFileSystem()
        {
            var d1 = new Directory("C");
            var d2 = new Directory("usr");
            var d3 = new Directory("bin");
            var d4 = new Directory("dave");
            var d5 = new Directory("fred");
            var d6 = new Directory("java");

            d1.Add(d2);
            d1.Add(d3);
            d2.Add(d4);
            d2.Add(d5);
            d3.Add(d6);
            d3.Add(new File("vi.exe", 2000));
            d3.Add(new File("emacs.exe", 5000));
            d4.Add(new File("a.txt", 20));
            d4.Add(new File("b.txt", 30));
            d5.Add(new File("c.txt", 50));
            d6.Add(new File("java.exe", 8000));
            d6.Add(new File("javac.exe", 6000));

            return(d1);
        }
示例#11
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Making root entries...");
                Directory rootDir = new Directory("root");
                Directory binDir  = new Directory("bin");
                Directory tmpDir  = new Directory("tmp");
                Directory usrDir  = new Directory("usr");
                rootDir.Add(binDir);
                rootDir.Add(tmpDir);
                rootDir.Add(usrDir);
                binDir.Add(new File("vi", 10000));
                binDir.Add(new File("latex", 20000));
                rootDir.PrintList();

                Console.WriteLine("");
                Console.WriteLine("Making user entries...");
                Directory yuki   = new Directory("yuki");
                Directory hanako = new Directory("hanako");
                Directory tomura = new Directory("tomura");
                usrDir.Add(yuki);
                usrDir.Add(hanako);
                usrDir.Add(tomura);
                yuki.Add(new File("diary.html", 100));
                yuki.Add(new File("Composite.java", 200));
                hanako.Add(new File("memo.tex", 300));
                tomura.Add(new File("game.doc", 400));
                tomura.Add(new File("junk.mail", 500));
                rootDir.PrintList();
            }
            catch (FileTreatmentException e)
            {
                Console.WriteLine(e.StackTrace);
            }
        }
示例#12
0
        static void Main(string[] args)
        {
            Component root = new Directory("root");

            root.Add(new File("File A"));
            root.Add(new File("File B"));

            Component comp = new Directory("Folder X");

            comp.Add(new File("File XA"));
            comp.Add(new File("File XB"));

            root.Add(comp);

            Component comp2 = new Directory("Folder Y");

            comp2.Add(new File("File YA"));
            comp2.Add(new File("File YB"));

            Component comp3 = new Directory("Folder Z");

            comp3.Add(new File("File YZA"));
            comp3.Add(new File("File YZB"));

            comp2.Add(comp3);

            root.Add(comp2);

            root.Add(new File("File C"));

            File leaf = new File("File D");

            root.Add(leaf);

            root.Display();
        }
示例#13
0
        private static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Title           = "Composite";

            Component fileSystem = new Directory("Файловая система");
            // Определяем новый диск
            Component diskC = new Directory("Диск С");
            // Новые файлы
            Component pngFile  = new File("12345.png");
            Component docxFile = new File("Document.docx");

            // Добавляем файлы на диск С
            diskC.Add(pngFile);
            diskC.Add(docxFile);
            // Добавляем диск С в файловую систему
            fileSystem.Add(diskC);
            // Выводим все данные
            fileSystem.Print();
            Console.WriteLine();
            // Удаляем с диска С файл
            diskC.Remove(pngFile);
            // Создаем новую папку
            Component docsFolder = new Directory("Мои Документы");
            // Добавляем в нее файлы
            Component txtFile = new File("readme.txt");
            Component csFile  = new File("Program.cs");

            docsFolder.Add(txtFile);
            docsFolder.Add(csFile);
            diskC.Add(docsFolder);

            fileSystem.Print();

            Console.ReadKey();
        }
示例#14
0
        static void Main(string[] args)
        {
            Directory rootdir = new Directory("root");

            Directory usrdir = new Directory("usr");

            rootdir.Add(usrdir);

            Directory yuki = new Directory("yuki");

            usrdir.Add(yuki);

            File file = new File("Composite.java", 100);

            yuki.Add(file);
            rootdir.PrintList();

            Console.WriteLine("");
            Console.WriteLine($"file = {file.GetFullName()}");
            Console.WriteLine($"yuki = {yuki.GetFullName()}");
        }
示例#15
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Making root entries...");
                Directory rootdir = new Directory("root");
                Directory bindir  = new Directory("bin");
                Directory tmpdir  = new Directory("tmp");
                Directory usrdir  = new Directory("usr");
                rootdir.Add(bindir);
                rootdir.Add(tmpdir);
                rootdir.Add(usrdir);
                bindir.Add(new File("vi", 10000));
                bindir.Add(new File("latex", 20000));
                rootdir.Accept(new ListVisitor());

                Console.WriteLine("");
                Console.WriteLine("Making user entries...");
                Directory yuki   = new Directory("yuki");
                Directory hanako = new Directory("hanako");
                Directory tomura = new Directory("tomura");
                usrdir.Add(yuki);
                usrdir.Add(hanako);
                usrdir.Add(tomura);
                yuki.Add(new File("diary.html", 100));
                yuki.Add(new File("Composite.java", 200));
                hanako.Add(new File("memo.tex", 300));
                hanako.Add(new File("index.html", 350));
                tomura.Add(new File("game.doc", 400));
                tomura.Add(new File("junk.mail", 500));
                rootdir.Accept(new ListVisitor());

                FileFindVisitor ffv = new FileFindVisitor(".html");
                rootdir.Accept(ffv);

                Console.WriteLine("HTML files are:");
                foreach (var file in ffv.FoundFiles)
                {
                    Console.WriteLine(file);
                }

                Console.WriteLine("File size is:");
                SizeVisitor sv = new SizeVisitor();
                rootdir.Accept(sv);
                Console.WriteLine($"{sv.Size}");

                //
                Directory root1 = new Directory("root1");
                root1.Add(new File("diary.html", 10));
                root1.Add(new File("Index.html", 20));

                Directory root2 = new Directory("root2");
                root2.Add(new File("diary.html", 1000));
                root2.Add(new File("index.html", 2000));

                ElementList list = new ElementList();
                list.Add(root1);
                list.Add(root2);
                list.Add(new File("etc.html", 1234));

                list.Accept(new ListVisitor());
            }
            catch (FileTreatmentException e)
            {
                Console.WriteLine(e.StackTrace);
            }
        }