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

时间: 2024-10-09 19:56:02

C# 文件/文件夹一般操作(File、Directory)的相关文章

文件(夹)操作

对文件和文件夹操作的类 1.FileInfo 具体文件,使用此类的对象,可以获得问价大小等各种信息 继承自FileSystemInfo 建立对象,FileInfo Fi= new FileInfo(); 常用属性 ·         Name 文件名称 ·         Extension 文件扩展名 ·         FullName 文件完全路径(物理路径) ·         Length 文件大小,单位为字节 ·         CreationTime 文件创建时间 ·      

File / Directory 文件的操作及远程下载

//文件远程下载 WebClient client = new WebClient();    Uri uri = new Uri(url);    client.DownloadFile(Uri uri,String filename); //文件一定得存在不然会报错所以在删除文件时先判断这个文件是否存在 File.Exists(filePath) File.Delete(filePath); //File对文件的操作 File.Move(sourceFile,destFile);//文件的移

C#文件夹操作之Directory类和DirectoryInfo类

问题的由来 怎么样使用 Cocos2d-x 快速开发游戏,方法很简单,你可以看看其自带的例程,或者从网上搜索教程,运行起第一个HelloWorld,然后在 HelloWorld 里面写相关逻辑代码,添加我们的层.精灵等 ~ 我们并不一定需要知道 Cocos2d-x 是如何运行或者在各种平台之上运行,也不用知道 Cocos2d-x 的游戏是如何运行起来的,它又是如何渲染界面的 ~~~ 两个入口 程序入口的概念是相对的,AppDelegate 作为跨平台程序入口,在这之上做了另一层的封装,封装了不同

IO的File类(用于对文件以及文件夹的操作)

1.      通过File去创建一个文件: File  file=new   File("apple.txt"); file.createNewFile(); 判断是否为文件: isFile()方法 2.      通过File去创建一个文件夹: File  file=new   File("apple"); file.mkdir(); 多级: File  dir=new   File("apple//dd//ff/gg"); dir.mkdi

用C#操作文件/文件夹(删除,复制,移动)

操作某一个文件/文件夹,需要一个文件的完整路径 一.使用File的静态方法进行文件操作 //使用file的静态方法进行复制 File.Copy(path, destpath); //使用File的静态方法删除路径下的一个文件 File.Delete(path); //使用File的静态方法移动路径下的一个文件 File.Move(path, destpath); File.ReadAllText(path); //打开一个文本文件*.txt ,读取文件中数据,然后关闭该文件 //写入 File.

[Swift通天遁地]七、数据与安全-(6)使用开源类库管理文件夹和操作文件

本文将演示使用开源类库实现创建文件夹和文件操作:创建.写入.移动.遍历. 首先确保在项目中已经安装了所需的第三方库. 点击[Podfile],查看安装配置文件. 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'FileKit' 7 end 根据配置文件中的相关配置,安装第三方库. 在项目导航区,打开视

【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作

一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu

Linux命令行基本文件/文件夹操作

对文件的操作 创建空文件:   touch +文件名   # 一般是先touch好一个文件然后vim这个文件. 很好奇为什么叫touch.删除文件:  rm +文件名         # 直接就没了,不会到回收站 复制文件到指定位置: cp +文件 + 目标目录  # 例如 cp file sub 把当前目录下的file文件复制到了当前目录子目录sub里面.重命名/移动文件: mv +文件(文件夹) + 目标目录 # 例如 mv dir1 dir2/new 把文件夹dir1(及其内容)移动到了跟

沙盒模型中各文件夹及操作

某个iphone工程进行文件操作有此工程对应的指定的位置,不能逾越. iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信