C#文件管理类

为了熟悉文件操作(File) 自定义一个方法进行管理

文件操作管理类
1.创建文件:
输入exit返回上一级,输入指定路径,创建新文件,路径存在就选择是否覆盖或者重新输入;

2.删除文件:
输入exit返回上一级,输入指定路径,判断该路径是否存在,存在就删除该文件,不存在就重新输入;

3.修改文件:
1)修改文件中的某个内容(doc,txt):例如把里面所有的“1”改成“2”;
2)修改文件的名字

4.查看文件:
1)查看文件信息:名字,创建时间,最后修改时间,字节大小
2)查看文件内容(doc,txt都可以查看,其他类型不可以);

class FileManager
    {

        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 op = Console.ReadLine();
                switch (op)
                {

                    case "1": Add(); break;
                    case "2": Delete(); break;
                    case "3": Change(); break;
                    case "4": Query(); break;
                    case "exit":return;
                    default: Console.WriteLine("输入错误"); break;
                }
            }
        }
        /// <summary>
        /// 添加文件
        /// </summary>
        public void Add()
        {
            while (true)
            {
                Console.WriteLine("输入路径添加(返回exit)");
                string value = Console.ReadLine();

                if (value.Equals("exit"))
                {
                    return;
                }

                else if (File.Exists(value))
                {
                    Console.WriteLine("文件存在");
                    Console.WriteLine("1.覆盖文件");
                    Console.WriteLine("回车:重新输入");
                    string val2 = Console.ReadLine();
                    if (val2.Equals("1"))
                    {
                        File.Create(value).Close();
                        Console.WriteLine("覆盖成功");
                    }

                }
                else
                {
                    try
                    {
                        File.Create(value).Close();
                        Console.WriteLine("新建成功");

                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("路径错误(重新输入)");
                    }
                }
            }
        }

        /// <summary>
        /// 删除文件
        /// </summary>
        public void Delete()
        {

            while (true)
            {
                Console.WriteLine("输入路径删除(返回exit)");

                string value = Console.ReadLine();
                if (value.Equals("exit"))
                {
                    return;
                }

                else if (File.Exists(value))
                {
                    File.Delete(value);

                    Console.WriteLine("删除成功");

                }
                else
                {
                    Console.WriteLine("未找到该文件(重新输入)");
                }
            }
        }

        /// <summary>
        /// 修改文件
        /// </summary>
        public void Change()
        {
            while (true)
            {
                Console.WriteLine("输入路径修改(返回exit)");

                string value = Console.ReadLine();
                if (value.Equals("exit"))
                {
                    return;
                }

                else if (File.Exists(value))
                {
                    Console.WriteLine("文件存在");
                    Console.WriteLine("1.修改文件名");
                    Console.WriteLine("2.修改文件内容");
                    string str = Console.ReadLine();
                    if (str.Equals("1"))
                    {
                        Console.WriteLine("输入修改后的文件名(写路径)");
                        string val2 = Console.ReadLine();

                        try
                        {
                            File.Move(value, val2);
                            Console.WriteLine("修改成功");
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine("修改失败(文件名错误)");
                        }

                    }
                    else if (str.Equals("2"))
                    {
                        FileInfo fileInfo = new FileInfo(value);
                        if (fileInfo.Name.EndsWith(".doc") || fileInfo.Name.EndsWith(".txt"))
                        {
                            //StreamReader reader = fileInfo.OpenText();
                            //string val3 = reader.ReadToEnd();
                            //reader.Close();
                            string val3 = File.ReadAllText(value, Encoding.Default);
                            Console.WriteLine("输入要修改的字符");
                            string v1 = Console.ReadLine();
                            Console.WriteLine("输入修改后的字符");
                            string v2 = Console.ReadLine();
                            string newVal = val3.Replace(v1, v2);
                            File.WriteAllText(value, newVal, Encoding.Default);
                            Console.WriteLine("修改成功(文件中所有{0}-->{1})", v1, v2);

                        }
                        else
                        {
                            Console.WriteLine("文件类型不支持修改内容");
                        }
                    }
                }
                else
                {
                    Console.WriteLine("未找到该文件(重新输入)");
                }
            }
        }

        /// <summary>
        /// 查询文件
        /// </summary>
        public void Query()
        {
            while (true)
            {
                Console.WriteLine("输入路径查询(返回exit)");

                string value = Console.ReadLine();
                if (value.Equals("exit"))
                {
                    return;
                }

                else if (File.Exists(value))
                {

                    FileInfo fileInfo = new FileInfo(value);
                    Console.Write("文件名:");
                    Console.WriteLine(fileInfo.Name);
                    Console.Write("创建时间:");
                    Console.WriteLine(fileInfo.CreationTime);
                    Console.Write("最后修改时间:");
                    Console.WriteLine(fileInfo.LastWriteTime);
                    Console.Write("字节长度:");
                    Console.WriteLine(fileInfo.Length);
                    if (fileInfo.Name.EndsWith(".doc") || fileInfo.Name.EndsWith(".txt"))
                    {
                        //StreamReader reader = fileInfo.OpenText();
                        //string str = reader.ReadToEnd();
                        //Console.Write("内容:");
                        //Console.WriteLine(str);
                        //reader.Close();
                        string[] str = File.ReadAllLines(value, Encoding.Default);
                        foreach (var item in str)
                        {
                            Console.WriteLine(item);
                        }
                    }
                    else
                    {
                        Console.WriteLine("文件类型不支持查看内容");
                    }
                }
                else
                {
                    Console.WriteLine("未找到该文件(重新输入)");
                }


            }
        }


    }

猜你喜欢

转载自blog.csdn.net/qq_42485607/article/details/81188142