zoukankan      html  css  js  c++  java
  • C# 文件/文件夹一般操作(File、Directory)

         C#常用文件操作在 System.IO 命名类库中有:File、Directory;

       一、 1、文件(File) 操作:

        文件创建:File.Create(filePath); ----在指定路径中创建或覆盖文件

        文件删除:File.Delete(filePath);

        判断文件是否存在:File.Exists(filePath)

        复制文件到另一地址:File.Copy(string sourceFileName, string destFileName); ----将现有文件复制到新文件。 不允许覆盖同名的文件。

                  File.Copy(string sourceFileName, string destFileName, bool overwrite);  ----将现有文件复制到新文件。 是否覆盖同名的文件

        文件移动:File.Move(string sourceFileName, string destFileName); ----将指定文件移到新位置,提供要指定新文件名的选项

          2、File基本信息 获取

           FileInfo fileInfo=new FileInfo(filePath)  ----为文件路径的包装的 System.IO.FileInfo 类的新实例;  filePath:新文件的完全限定名或相对文件名。 路径不要以目录分隔符结尾

       二、目录/文件夹(Directory) 操作

        文件夹创建:Directory.CreateDirectory(directPath)

        文件夹删除:Directory.Delete(directPath)  ----从指定路径删除空目录。

              Directory.Delete(directPath,bIsDeleteChildren)  ----bIsDeleteChildren  删除指定的目录,并删除该目录中的所有子目录和文件(如果表示)

        判断文件夹是否存在:Directory.Exists(directPath)

      三、基本封装方法:

        1、获取指定目录下所有文件或特定类型的文件    

            /// <summary>
            /// 获得目录下所有文件或指定文件类型文件(包含所有子文件夹)
            /// </summary>
            /// <param name="path">文件夹路径</param>
            /// <param name="extName">扩展名可以多个 例如 .mp3.wma.rm</param>
            /// <returns></returns>
            public static List<FileInfo> GetFiles(string path, string extName)
            {
                try
                {
                    List<FileInfo> lst = new List<FileInfo>();
                    string[] dir = Directory.GetDirectories(path); //文件夹列表   
                    DirectoryInfo fdir = new DirectoryInfo(path);
                    FileInfo[] file = fdir.GetFiles();
                    //FileInfo[] file = Directory.GetFiles(path); //文件列表   
                    if (file.Length != 0 || dir.Length != 0) //当前目录文件或文件夹不为空                   
                    {
                        foreach (FileInfo f in file) //显示当前目录所有文件   
                        {
                            if (extName.ToLower().IndexOf(f.Extension.ToLower()) >= 0)
                            {
                                lst.Add(f);
                            }
                        }
                        foreach (string d in dir)
                        {
                            GetFiles(d, extName);//递归   
                        }
                    }
                    return lst;
                }
                catch (Exception ex)
                {
                    // LogHelper.WriteLog(ex);
                    throw ex;
                }
            }

        2、获取文件转换后大小  

            /// <summary>
            /// 获取文件大小字节转换
            /// Math.Pow:获取指定数字的指定次幂
            /// </summary>
            /// <param name="fileSize"></param>
            /// <returns></returns>
            public static string ReturnFileSize(long fileSize)
            {
                var num = 1024.00; //byte
    
                if (fileSize < num)
                    return fileSize + "B";
                if (fileSize < Math.Pow(num, 2))
                    return (fileSize / num).ToString("f2") + "K"; //kb
                if (fileSize < Math.Pow(num, 3))
                    return (fileSize / Math.Pow(num, 2)).ToString("f2") + "M"; //M
                if (fileSize < Math.Pow(num, 4))
                    return (fileSize / Math.Pow(num, 3)).ToString("f2") + "G"; //G
    
                return (fileSize / Math.Pow(num, 4)).ToString("f2") + "T"; //T
            }

          3、未完待续。。。

         脚本之家有一个专题,专门介绍文件操作:记录一下  https://www.jb51.net/Special/257.htm

        以上为目前记录,后续将继续补充。

      

  • 相关阅读:
    SP笔记:交叉实现七行并成一行
    HTML tag 学习
    操作哈希表
    Efficient bipedal robots based on passivedynamic walkers
    Pushing People Around
    ZEROMOMENT PONTTHIRTY FIVE YEARS OF ITS LIFE

    Active Learning for RealTime Motion Controllers
    Accelerometerbased User Interfaces for the Control of a Physically Simulated Character
    Dynamic Response for Motion Capture Animation
  • 原文地址:https://www.cnblogs.com/skyheaving/p/12387336.html
Copyright © 2011-2022 走看看