Example #1
0
        internal void createNewFile()
        {
            //Declare new FilePath variable and grab validated Path
            FilePath path     = new FilePath();
            string   filePath = path.GetFilePath("NewFile");

            Console.WriteLine("\nEnter file content");

            StreamWriter streamWriter = File.CreateText(filePath);

            try
            {
                //Write in the file until Esc key is pressed
                while (Console.ReadKey(true).Key != ConsoleKey.Escape)
                {
                    string line = Console.ReadLine();
                    streamWriter.WriteLine(line);
                }
                Console.WriteLine("\nFile created!");
            }
            finally
            {
                streamWriter.Close();
            }
            //Display Menu after creating file
            TextEditorMenu menu = new TextEditorMenu();

            menu.DisplayMenu(filePath);
        }
Example #2
0
        internal void InsertLine()
        {
            while (true)
            {
                Console.WriteLine("\nEnter index of line to insert: ");
                int    lineNumber;
                string index = Console.ReadLine();  //String input for line number

                if (Regex.IsMatch(index, @"^\d+$")) //Checks if the index is all numbers
                {
                    lineNumber = int.Parse(index);
                    var lines = File.ReadAllLines(_path);

                    //Check line index is in range
                    if (lineNumber < lines.Length)
                    {
                        string[] newLines = new string[lines.Length + 1]; //Array for line insertion

                        //Read updated new line
                        Console.Write("Enter new line:");
                        string newLineData = Console.ReadLine();

                        //Assigning new value to line
                        newLines[lineNumber] = newLineData;

                        //Assinging value from previous lines to new lines
                        //i & j iterate over the newLines & lines array respectively
                        for (int i = 0, j = 0; i <= lines.Length; i++)
                        {
                            if (i == lineNumber) //skip the inserted line
                            {
                                continue;
                            }

                            newLines[i] = lines[j]; //assign the lines value
                            j++;                    //increment lines iterator
                        }
                        //Writing Data back to the file
                        File.WriteAllLines(_path, newLines);
                        break;
                    }
                    else
                    {
                        Console.WriteLine("\nLine number is out of range, enter valid line number");
                    }
                }
                else
                {
                    Console.WriteLine("\nInvalid line type, enter valid line number");
                }
            }
            TextEditorMenu menu = new TextEditorMenu();

            menu.DisplayMenu(_path);
        }
Example #3
0
        internal void UpdateLine()
        {
            do
            {
                Console.WriteLine("\nEnter index of line to update: ");
                int    lineNumber;
                string index = Console.ReadLine();  //String input for line number

                if (Regex.IsMatch(index, @"^\d+$")) //Checks if the index is all numbers
                {
                    lineNumber = int.Parse(index);
                    var lines = File.ReadAllLines(_path);

                    //Check line index is in range
                    if (lineNumber < lines.Length)
                    {
                        //Read updated line
                        Console.WriteLine("Enter new updated line:");
                        string newLineData = Console.ReadLine();

                        //Assigning new value to line
                        lines[lineNumber] = newLineData;

                        //Writing Data back to the file
                        File.WriteAllLines(_path, lines);
                        break;
                    }
                    else
                    {
                        Console.WriteLine("\nLine number is out of range, enter valid line number");
                    }
                }
                else
                {
                    Console.WriteLine("\nInvalid line type, enter valid line number");
                }
            } while (true);
            TextEditorMenu menu = new TextEditorMenu();

            menu.DisplayMenu(_path);
        }
Example #4
0
        internal void displayFile()
        {
            //Declare new FilePath variable and grab validated Path
            FilePath path     = new FilePath();
            string   filePath = path.GetFilePath("OpenFile");

            //StreamReader used for reading entire file
            StreamReader streamReader = File.OpenText(filePath);

            try
            {
                //Display the entire file on console
                Console.WriteLine("\nFile content:\n\n{0}", streamReader.ReadToEnd());
            }
            finally
            {
                streamReader.Close();
            }

            //Display Menu after creating file
            TextEditorMenu menu = new TextEditorMenu();

            menu.DisplayMenu(filePath);
        }