文件操作,创建,删除,查看,修改

 class Manager
    {
        public void Control() {
            while (true)
            {
                Console.WriteLine("-----文件操作管理-----");
                Console.WriteLine("1.创建文件");
                Console.WriteLine("2.删除文件");
                Console.WriteLine("3.查看文件");
                Console.WriteLine("4.修改文件");
                Console.WriteLine("退出请输入exit");
                Console.WriteLine("请输入你的选择:");
                string s = Console.ReadLine();
                if (s.Equals("exit"))
                {
                    break;
                }
                else if (s.Equals("1"))
                {
                    g.CreateFile();
                }
                else if (s.Equals("2"))
                {
                    g.DeleteFile();
                }
                else if (s.Equals("3"))
                {
                    g.CheckFIle();
                }
                else if (s.Equals("4"))
                {
                    g.AlterFile();
                }
                else
                {
                    Console.WriteLine("请输入正确的指令");
                }
            }
        }
        public  void CreateFile()
        {
            while (true)
            {
                try
                {
                    Console.WriteLine("请输入指定路径:");//相对路径的话会直接保存入运行文件夹下
                    string s = Console.ReadLine();
                    if (s.Equals("exit"))
                    {
                        return;
                    }
                    if (File.Exists(s))
                    {
                        Console.WriteLine("该文件当前目录下已存在,是否重新输入");
                        Console.WriteLine("是则输入y:");
                        string s1 = Console.ReadLine();
                        if (s1.Equals("y"))
                        {
                            continue;
                        }
                        File.Create(s).Close();//创建完毕,关闭文件流
                        break;
                    }
                    else
                    {
                        File.Create(s);
                        break;
                    }
                }
                catch(UnauthorizedAccessException e){
                    Console.WriteLine("调用方无权限");
                    continue;
                }
                catch (Exception e)
                {
                    Console.WriteLine("路径有误!!");
                }
            }
            Console.WriteLine("文件创建成功!!!");
        }
        //2.删除文件:
        //* 输入exit返回上一级,输入指定路径,判断该路径是否存在,存在就删除该文件,不存在就重新输入;
        public  void DeleteFile()
        {
            while (true)
            {

                    Console.WriteLine("请输入指定路径:");//相对路径的话会直接保存入运行文件夹下
                    string s = Console.ReadLine();
                    if (s.Equals("exit"))
                    {
                        return;
                    }
                    if (!File.Exists(s))
                    {
                        Console.WriteLine("当前路径不存在该文件!!请重新输入");
                        continue;
                    }
                    else
                    {
                        File.Delete(s);
                        break;
                    }
            }
            Console.WriteLine("文件删除成功");
        }
        //* 3.查看文件:
        //* 1)查看文件信息:名字,创建时间,最后修改时间,字节大小
        //* 2)查看文件内容(doc,txt都可以查看,其他类型不可以);
        public void CheckFIle()
        {
            while (true)
            {
                Console.WriteLine("请输入你要查看的文件路径:");//相对路径的话会直接保存入运行文件夹下
                string s = Console.ReadLine();
                if (s.Equals("exit"))
                {
                    return;
                }
                if (File.Exists(s))
                {

                    FileInfo file = new FileInfo(s);
                    Console.WriteLine("1.查看文件的信息");
                    Console.WriteLine("2.查看文件的内容");
                    string s1 = Console.ReadLine();
                    if (s1.Equals("1"))
                    {
                        Console.WriteLine("文件信息如下:");
                        Console.WriteLine("文件名:" + file.Name);
                        Console.WriteLine("文件创建时间:" + file.CreationTime);
                        Console.WriteLine("文件最后修改时间:" + file.LastWriteTime);
                        Console.WriteLine("文件大小:" + file.Length);
                        break;
                    }
                    if (s1.Equals("2"))
                    {
                        if (file.Extension.Equals(".txt") || file.Extension.Equals(".doc"))
                        {
                            Console.WriteLine("文件的内容如下:");
                            string[] s2 = File.ReadAllLines(s, System.Text.Encoding.Default);
                            foreach (var value in s2)
                            {
                                Console.WriteLine(value);
                            }
                        }
                        else
                        {
                            Console.WriteLine("不支持该文件的查看");
                        }
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("输入的文件路径有误:");
                    break;
                }
            }
        }
        //* 4.修改文件:
        //* 1)修改文件中的某个内容(doc,txt):例如把里面所有的“1”改成“2”;
        //* 2)修改文件的名字
        public  void AlterFile()
        {
            while (true)
            {
                    Console.WriteLine("请输入你要修改的文件路径:");//相对路径的话会直接保存入运行文件夹下
                    string s = Console.ReadLine();
                    if (s.Equals("exit"))
                    {
                        return;
                    }
                    if (File.Exists(s))
                    {
                        FileInfo file = new FileInfo(s);
                        if (file.Extension.Equals(".txt") || file.Extension.Equals(".doc"))
                        {
                            FileInfo fileinfo = new FileInfo(s);
                            Console.WriteLine("1.修改文件内容");
                            Console.WriteLine("2.修改文件名字");
                            string s2 = Console.ReadLine();
                            if (s2.Equals("1"))
                            {
                                if (fileinfo.Length > 0)
                                {
                                    byte[] arr = File.ReadAllBytes(s);
                                    string value = Encoding.Default.GetString(arr, 0, arr.Length);  //获取文本内容       
                                    Console.WriteLine("请输入你要修改的字符串,若文件中有该字符,将全部替换");
                                    string str2 = Console.ReadLine();
                                    if (str2 == "\r") {
                                        Console.WriteLine("不能为空");
                                    }
                                    Console.WriteLine("请输入将要修改为的字符串");
                                    string str3 = Console.ReadLine();
                                    try
                                    {
                                        byte[] brr2 = Encoding.Default.GetBytes(value.Replace(str2, str3));
                                        File.WriteAllBytes(s, brr2);
                                        Console.WriteLine("修改成功");
                                        break;
                                    }
                                    catch(Exception e ){
                                        Console.WriteLine("字符串长度不能为0");
                                    }

                                }
                            }
                            if (s2.Equals("2"))
                            {
                                Console.WriteLine("请输入你要修改的名字:");
                                string s1 = Console.ReadLine();
                                File.Move(s, s1);
                                Console.WriteLine("更名成功!!!");
                                break;
                            }
                        }
                        else {
                            Console.WriteLine("该文件格式不能修改");
                        }
                    }
                    else
                    {
                        Console.WriteLine("输入的文件路径有误:");``
                        break;
                    }
            }
        }
        //public bool isYes(string s) {
        //    if (s.Equals("y")) {
        //        return true;
        //    }
        //    return false;
        //}
    }

猜你喜欢

转载自blog.csdn.net/qq_36561650/article/details/81190778