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.cnblogs.com/skyheaving/p/12387336.html